最详细的设计模式
认真使用Java语言去实现每一个设计模式
dbjxs
这个作者很懒,什么都没留下…
展开
-
设计模式之装饰模式(Decorator)
1.装饰模式的概念 动态的给一个对象添加一些额外的职责,同时又不改变其结构。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。就增加功能来说,装饰模式比生成子类更加灵活。2.装饰模式的结构抽象组件角色(Component):定义一个对象接口,可以给这些对象动态的添加职责。具体组件角色(ConcreteComponent):被装饰者,定义了一个将要被装饰...原创 2018-05-04 10:07:54 · 165 阅读 · 0 评论 -
设计模式之代理模式(Proxy)
1.代理模式的概念为其他对象提供一种代理,以控制对这个对象的访问。2.代理模式的结构 Subject类:定义了RealSubject和Proxy的公共接口,这样就在任何使用RealSubject的地方都可以使用Proxy RealSubject类:定义Proxy所代表的真实实体 Proxy类:保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代...原创 2018-05-04 22:25:13 · 305 阅读 · 0 评论 -
设计模式之简单工厂模式(SimpleFactory)
1.简单工厂模式概念 简单工厂模式又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式(同属于创建型模式的还有工厂方法模式,抽象工厂模式,单例模式,建造者模式)。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2.简单工厂模式的结构由上面的结构图可以看到,...原创 2018-05-05 09:47:02 · 353 阅读 · 0 评论 -
设计模式之工厂方法模式(Factory)
1.工厂方法模式的概念定义一个创建对象的工厂接口,让子类决定实例化哪一个类,将实际创建工作推迟到子类当中。2.工厂方法模式结构图 AbstractCreator(抽象工厂):声明工厂方法,该方法返回一个Product类型的对象。任何在模式中创建对象的工厂类必须继承或者实现这个接口,在实际的系统中,这个类常用Java抽象类来实现。 ConcreteCreator(具体工厂):重定义工...原创 2018-05-05 13:01:26 · 708 阅读 · 0 评论 -
设计模式之原型模式(Prototype)
1.原型模式的概念用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。2.原型模式的结构图 Prototype(原型类):声明一个克隆自身的类或接口,这个类或接口通常会实现Cloneable接口。 ConcretePrototype(具体原型类):被复制的对象,实现一个克隆自身的操作。 Client(客户端):让一个原型克隆自身,从而创建一个新的对象。3.原...原创 2018-05-08 23:28:43 · 363 阅读 · 0 评论 -
设计模式之建造者模式(Builder)
1.建造者模式的概念 建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式又叫“生成器模式”,建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品。如果我们用了建造者模式,那么用户就只需指定需要建造的类型就可以得到他们,而具体建造的过程细节就不需要知道了。2.建造者模式的结构图...原创 2018-05-07 16:31:42 · 200 阅读 · 0 评论 -
设计模式之外观模式(Facade)
1.外观模式的概念外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,它是一种对象结构型模式。2.外观模式的结构图 Facade类:外观类,知道哪些子系统类负责处理请求,将客户的请求代理给适当的子系统对象。 SubSystem Classes:子系统类集合,实现子系统的功能,处理Facade对象指派的任务。注意子类中没有...原创 2018-05-08 08:18:07 · 259 阅读 · 0 评论 -
设计模式之模板方法模式(TemplateMethod)
1.模板方法模式的概念模板方法模式,定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。2.模板方法模式的结构 AbstractClass:实现一个模板方法,定义了算法的骨架,具体子类将重定义PrimitiveOperation以实现一个算法的步骤。AbstractClass其实就是一个抽象模板,定义并实现...原创 2018-05-07 23:52:10 · 13602 阅读 · 2 评论 -
设计模式之适配器模式(Adapter)
原创 2018-05-09 19:05:01 · 915 阅读 · 0 评论 -
设计模式之观察者模式(Observer)与Java委托
1.观察者模式的概念观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。2.观察者模式的结构图 Subject类:抽象通知者,它把所有对观察者对象的引用保存在一个聚集里,每个通知者都可以有任何数量的观察者。抽象通知者提供一个接口,可以增加和删除观察者对象。 ConcreteSu...原创 2018-05-10 09:05:09 · 1396 阅读 · 0 评论