中介模式-python

中介者模式是一种设计模式,它将复杂的对象间交互简化为星型结构,通过一个中介对象来协调各个对象的通信,从而减少它们之间的依赖和耦合。在给定的示例中,ChatRoom作为中介者,使得User对象能够间接地发送消息,而不是直接相互交互。这种模式在多对象协作且交互复杂的情况下非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中介模式:

中介者模式中,对象间的通信过程被封装在一个中介者(调解人)对象之中。 对象之间不再直接交互,而是通过调解人进行交互。 这么做可以减少可交互对象间的依赖,从而降低耦合

何时使用:多个类相互耦合,形成了网状结构。

如何解决:将上述网状结构分离为星型结构。

class ChatRoom():
    @staticmethod
    def display_message(user, message):
        print("{0} say {1}".format(user.name, message))


class User():
    def __init__(self, name):
        self.name = name

    def say(self):
        ChatRoom.display_message(self, self.speak())

    def speak(self):
        return "can speak english"


if __name__ == "__main__":
    u1 = User("马云")
    u2 = User("马化腾")
    u1.say()
    u2.say()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值