摘要:
定义:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。类似于 阅读全文
posted @ 2018-01-20 16:10
柯腾_wjf
阅读(173)
评论(0)
推荐(0)
摘要:
定义:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。备忘录模式将要保存的细节给封装在备忘录中,就是哪天要改变保存的细节也不会影响到客户端。类似存档和撤销的功能。结构图: 角色:1.发起人:记录当前时刻的内部状态, 阅读全文
posted @ 2018-01-20 16:05
柯腾_wjf
阅读(325)
评论(0)
推荐(0)
摘要:
定义:用一个中介对象来封装一系列的对象交互,用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。多个对象可以互相通信,建立一个中间的中介类完成彼此间的通信,类似于QQ功能,链接多个类似的对象。 优点: 1、降低了类的复杂度,将一 阅读全文
posted @ 2018-01-20 16:00
柯腾_wjf
阅读(295)
评论(0)
推荐(0)
摘要:
定义:提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。类似于foreach遍历的功能。提到迭代器,首先它是与集合相关的,集合也叫聚集、容器等,我们可以将集合看成是一个可以包容对象的容器,例如List,Set,Map,甚至数组都可以叫做集合,而迭代器的作用就是把容器中的对象一个一个地 阅读全文
posted @ 2018-01-20 15:52
柯腾_wjf
阅读(163)
评论(0)
推荐(0)
摘要:
定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器用来解释语言中句子,解析表达式。例如a+b,用户输入a+b,解析式负责处理并返回数据,类似于运算类。角色:1.AbstractExpression(抽象表达式)2.TerminalExpression(终结符表达式)3.N*nte 阅读全文
posted @ 2018-01-20 15:45
柯腾_wjf
阅读(222)
评论(0)
推荐(0)
摘要:
定义:通过将一系列的操作封装成一个命令对象,方便执行,同时也能够更好的让我们进行一些操作回滚,用来记录是否执行过该操作等问题。场景: 1、当一个应用程序调用者与多个目标对象之间存在调用关系时,并且目标对象之间的操作很类似的时候。2、例如当一个目标对象内部的方法调用太复杂,或者内部的方法需要协作才能完 阅读全文
posted @ 2018-01-20 15:37
柯腾_wjf
阅读(140)
评论(0)
推荐(0)
摘要:
定义:为请求创建了一个接收者对象的链,使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。每个处理者必须绑定下一个事件处理者(最后一个例外),才能保证责 阅读全文
posted @ 2018-01-20 15:32
柯腾_wjf
阅读(129)
评论(0)
推荐(0)
摘要:
定义:一个类代表另一个类的功能。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。通过一个中间层完成两个模块之间的交互。 通过上面的图片,我们可以看到,通过增加代理来解耦A与C之间的调用,这样可以封装原来C调用A的一些相关细节,转换成C直接调用B中封装后的代理方法,则等同于访问A。 阅读全文
posted @ 2018-01-20 15:20
柯腾_wjf
阅读(119)
评论(0)
推荐(0)
摘要:
定义:复用我们内存中已存在的对象,降低系统创建、销毁对象实例的性能消耗。对象池: 1、根据对象类型动态的创建对象实例。2、根据对象池中的配置,在对象池中找到空闲的实体提供给程序调用,减少创建对象的次数。3、我们需要设计每个类型的缓冲池,通过把对象进行缓存,提供性能。如果对象池中的对象长期不会调用,那 阅读全文
posted @ 2018-01-20 15:15
柯腾_wjf
阅读(150)
评论(0)
推荐(0)

浙公网安备 33010602011771号