上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页
摘要: 定义:当对象间存在一对多关系时,则使用观察者模式(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)
摘要: 定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。角色:Component:抽象构件角色,定义一个抽象接口,以规范准备接收附加责任的对象。ConcreteComponent:具体组件,这是被装饰者,定义一个将要被装饰增加功能的实体Decorator:装饰角色, 阅读全文
posted @ 2018-01-19 21:51 柯腾_wjf 阅读(165) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页