设计模式
dream天空
这个作者很懒,什么都没留下…
展开
-
设计模式之策略模式
策略模式 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 结构: 角色: ● 环境(Context)角色:持有一个Strategy的引用。 ● 抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。 ● 具体策略(ConcreteS原创 2017-08-09 09:01:09 · 168 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式 定义 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 观察者模式UML图如下: 观察者模式中的角色 Subject:抽象主题(抽象被观察者),抽象主题原创 2017-08-04 17:42:33 · 170 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式 定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 分类:适配器模式从实现方式上分为两种,类适配器和对象适配器,这两种的区别在于实现方式上的不同,一种采用继承,一种采用组合的方式。 使用场景:系统中有一套完整的类结构,而我们需要利用其中某一个类的功能(通俗点说可以说是方法),但是我们的客户端只认识另外一个和这原创 2017-08-05 10:30:12 · 167 阅读 · 0 评论 -
设计模式之抽象工厂模式
抽象工厂模式 定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 从定义中可知,我们是要创建一个接口,而这个接口是干嘛的呢,是为了创建一组相关或者相互依赖的对象,而且我们创建的对象不是具体的类,也就是说我们创建的是一个接口或者一个抽象类。 UML: 具体实现 产品代码实现: interface ProductA { void methodA原创 2017-08-14 11:25:41 · 211 阅读 · 0 评论 -
设计模式之模板方法
模板方法 定义一个操作中的算法骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 结构 模板方法模式结构比较简单,其核心是抽象类和其中的模板方法的设计。 模板方法模式包含如下两个角色: (1)AbstractClass(抽象类):在抽象类中定义了一系列基本操作(PrimitiveOperatio原创 2017-09-07 10:35:03 · 228 阅读 · 0 评论