- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第18章 多人聊天室:中介者模式 18.1 多人聊天室 18.2 模式定义 18.3 模式分析 18.4 模式实现 18.5 设计原则 18.6 使用场合 18.7 本章要点 18.1 多人聊天室 先来看一下点对点的聊天方式,如图18-1所示。 18.1 多人聊天室 中介者就充当着这样的中转机构,接收请求然后转发出去,从而减轻客户端的压力,其结构如图18-2所示。 18.2 模式定义 中介者模式(Mediator Pattern),用一个中介对象来封装一系列对象之间的交互,使各个对象中不需要显式地引用其他对象实例,从而降低各个对象之间的耦合度,并且可以独立地改变对象间的交互关系。 18.3 模式分析 8.3.1 多人聊天室结构分析 (1)我们需要建立一个中介者(通信服务器); (2)中介者对象当中应该存在注册客户端用户的功能,这样就保证了中介者能够将信息发送到其他用户; (3)客户端用户应该都是平等的,这里我们需要建立抽象客户端来封装处理发送信息的请求; (4)在客户端用户中,需要包含对中介者对象实例的引用,这样才能与中介者(服务器)进行通信。 8.3.1 多人聊天室结构分析 看一下中介者模式多人聊天室的功能关系图,如图18-3所示。 18.3.2 静态建模 创建静态类图,通过静态类图加深了解中介者模式的实现过程,如图18-4所示。 18.4 模式实现 18.4.1 创建用户接口 18.4.2 创建中介者 1.中介者接口——IMediator 2.中介者实现——ConcreteMediator 18.4.3 创建用户 1.抽象用户——AbstractUser 2.用户A——UserA 3.用户B——UserB 4.用户C——UserC 18.4.4 运行多人聊天室 18.5 设计原则 1.一对多的对象依赖转化为一对一依赖 2.集中控制提高类的复用性 18.6 使用场合 (1)一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。注意是多个对象之间相互依赖。 (2)想定制一个分布在多个类中的行为,而不想生成太多的子类的场合。 (3)产品架构的研发,更需要易于扩展的场合。 18.6 使用场合 中介者模式的静态类图如图18-7所示。 18.6 使用场合 1.中介者模式中的角色 2.扩展1:Java SDK中的中介者模式 3.扩展2:相关的设计模式 18.7 本章要点 1.中介者模式 2.设计原则 3.模式中的角色 4.相关的设计模式 5.使用场合
文档评论(0)