摘要: 策略模式(Strategy Pattern) 1.模式动机 完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。 在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途 阅读全文
posted @ 2020-10-26 13:48 SSunSShine 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State Pattern) 1.模式动机 在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统 阅读全文
posted @ 2020-10-26 13:37 SSunSShine 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 观察者模式(Observer Pattern) 1.模式动机 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和 阅读全文
posted @ 2020-10-26 13:24 SSunSShine 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 中介者模式(Mediator Pattern) 1.模式动机 在用户与用户直接聊天的设计方案中,用户对象之间存在很强的关联性,将导致系统出现如下问题: 系统结构复杂:对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。 对象可重用性差:由于一 阅读全文
posted @ 2020-10-26 13:09 SSunSShine 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 命令模式(Command Pattern) 1.模式动机 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的 阅读全文
posted @ 2020-10-26 11:38 SSunSShine 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 代理模式(Proxy Pattern) 1.模式动机 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。 通过 阅读全文
posted @ 2020-10-26 11:25 SSunSShine 阅读(151) 评论(0) 推荐(0) 编辑