当前位置: 首页 > news >正文

外贸公司建网站一般多少钱在哪做网站建设

外贸公司建网站一般多少钱,在哪做网站建设,亚马逊雨林电影,怎么用自己的主机做网站服务器吗引导性开场 菜鸟:老鸟,我最近在开发一个聊天应用的时候遇到了点问题。每个用户都需要与其他用户直接通信,这让我在代码中写了很多复杂的逻辑来管理这些联系。这样下去,代码越来越难维护了。你有什么建议吗? 老鸟&…

引导性开场

菜鸟:老鸟,我最近在开发一个聊天应用的时候遇到了点问题。每个用户都需要与其他用户直接通信,这让我在代码中写了很多复杂的逻辑来管理这些联系。这样下去,代码越来越难维护了。你有什么建议吗?

老鸟:嗯,这确实是个常见的问题。你有没有听说过中介者模式?

菜鸟:中介者模式?没听过。它能解决我现在的问题吗?

老鸟:绝对可以。让我给你详细解释一下。

渐进式介绍概念

老鸟:我们可以用一个简单的生活例子来理解中介者模式。想象一下,你在一个公司工作,公司里有很多同事。如果每个同事都需要直接和其他所有同事沟通,整个沟通过程会非常混乱,对吧?

菜鸟:对啊,人越多越难管理。

老鸟:所以,公司通常会有一个中介——比如一个经理。所有的沟通都通过经理来进行。同事A想和同事B沟通,他只需要告诉经理,经理再去通知同事B。这样,沟通就变得简单和有序了。这就是中介者模式的核心思想。

菜鸟:哦,我明白了。中介者模式是通过一个中介来简化对象之间的通信。

Python代码示例,逐步展开

老鸟:让我们通过一个简单的 Python 示例来进一步理解吧。

基础实现

老鸟:首先,我们来看看没有中介者模式的实现。假设我们有两个用户,每个用户都可以直接向另一个用户发送消息。

class User:def __init__(self, name):self.name = nameself.contacts = []def add_contact(self, user):self.contacts.append(user)def send_message(self, message, to_user):print(f"{self.name} sends message to {to_user.name}: {message}")to_user.receive_message(message, self)def receive_message(self, message, from_user):print(f"{self.name} received message from {from_user.name}: {message}")# 创建用户
alice = User("Alice")
bob = User("Bob")# 添加联系人
alice.add_contact(bob)
bob.add_contact(alice)# 发送消息
alice.send_message("Hello, Bob!", bob)
bob.send_message("Hi, Alice!", alice)

菜鸟:这样每个用户都需要知道其他用户的存在,这确实不太好。

老鸟:没错,现在我们来引入中介者模式。

引入中介者模式

老鸟:我们创建一个 ChatRoom 类作为中介者,让所有用户通过 ChatRoom 来通信。

class ChatRoom:def show_message(self, user, message):print(f"{user.name} says: {message}")class User:def __init__(self, name, chatroom):self.name = nameself.chatroom = chatroomdef send_message(self, message):self.chatroom.show_message(self, message)# 创建中介者
chatroom = ChatRoom()# 创建用户
alice = User("Alice", chatroom)
bob = User("Bob", chatroom)# 发送消息
alice.send_message("Hello, Bob!")
bob.send_message("Hi, Alice!")

菜鸟:这样看起来确实更简洁了。用户只需要知道 ChatRoom,而不需要直接引用其他用户。

问题与反思

菜鸟:可是,如果我想在发送消息时包含一些业务逻辑,比如对某些消息进行过滤,该怎么办?

老鸟:好问题。你可以在 ChatRoom 中添加相应的逻辑,这样所有的消息处理都集中在一个地方,代码更容易维护和扩展。

class ChatRoom:def show_message(self, user, message):if self.message_filter(message):print(f"{user.name} says: {message}")else:print(f"Message from {user.name} was blocked.")def message_filter(self, message):# 简单的示例过滤器return "spam" not in message.lower()# 使用新的 ChatRoom
chatroom = ChatRoom()alice = User("Alice", chatroom)
bob = User("Bob", chatroom)alice.send_message("Hello, Bob!")
bob.send_message("This is spam message.")

菜鸟:明白了,这样我就可以在 ChatRoom 中集中处理所有的业务逻辑了。

优势与适用场景

老鸟:中介者模式有很多优势。它可以减少对象之间的耦合,使系统更易于扩展和维护。适用于对象之间有复杂交互的情况,比如聊天系统、GUI组件之间的通信等等。

菜鸟:明白了,这样在需要扩展用户数量或者添加新功能的时候,就不需要修改每个用户的代码了。

常见误区与优化建议

老鸟:不过要注意,不要把所有的逻辑都塞到中介者里,否则中介者会变得过于复杂。可以通过拆分中介者或引入其他设计模式来保持代码的清晰和简洁。

菜鸟:好的,我会注意的。

总结与延伸阅读

老鸟:总结一下,中介者模式通过引入一个中介者对象,来简化对象之间的通信和交互。它有助于减少对象之间的耦合,使系统更容易扩展和维护。你可以查阅《设计模式:可复用面向对象软件的基础》这本书,里面有更多设计模式的详细解释。

菜鸟:谢谢老鸟,我会去读一读的。下次我还想学习其他设计模式,你有什么推荐吗?

老鸟:你可以先了解一下观察者模式和策略模式,这两个模式也非常常用而且很有趣。

菜鸟:好的,我会去研究一下的。再次感谢!

http://www.yayakq.cn/news/351616/

相关文章:

  • 如何注销网站域名手机网站开发平台
  • wordpress添加海报分享功能seo如何优化关键词排名
  • 无锡市网站搭建网页制作学什么软件好
  • 对网站分析权威发布信息
  • 全国交通建设网官方网站外贸平台建设
  • 青岛市网站制作哪个网站代做装修效果图
  • 华北建设招标网官方网站海南直聘网
  • 网站建设做什么费用网站制作案例 立邦
  • 网站登录验证码是怎么做的珠宝网站设计方案
  • asp网站应用程序公司注册一站式
  • 网站建设规模腾讯云服务器优惠
  • 如何做国际贸易网站帝国cms网站建设
  • 万业网网站建设审核如何做免费网站制作
  • 查看wordpress主题珠海网站建设优化推广
  • 济南网站建设的费用机械加工网上订单怎么接
  • 网站建设兆金手指下拉邢台建设网站
  • 网站建设 报价单大数据平台的整体搭建思路
  • 企业网站前端模板下载公司名查询是否被注册公司
  • 西安做营销型网站建设专业pc网站建设服务
  • 做一个自己的网站多少钱酒店网站建设案例策划书怎么写
  • 网站设计规划教学设计网站设计优秀作品
  • 最好的素材网站wordpress怎么使用插件
  • 重庆渝中区企业网站建设公司网店美工培训
  • 网站域名不备案要证书有啥用成都网站建设 川icp备
  • 青岛开发区网站wordpress 自动标签
  • 网站开发会用到定时器功能上海网页制作设计营销
  • 雄安做网站价格网站源码哪个好
  • 分类信息网站建设系统建什么网站
  • 网站建设的基本准则是什么江苏h5响应式网站建设设计
  • 百度验证网站网站制作的基本步骤是