设计模式与应用
以设计模式的基本内容开篇,之后会结合公司的一些项目实际的分析具体模式的应用。把你思考架构的层次提高到模式层面,而不是停留在琐碎的对象上,实现良好的OO设计。
ssdut_yrp
这个作者很懒,什么都没留下…
展开
-
命令模式
命令模式,封装调用,把方法调用封装起来。 遥控器命令模式可将“动作的请求者”从“动作的执行者”对象中解耦。请求者可以是遥控器,而执行者对象就是厂商类其中之一的实例。利用命令对象,把请求(例如打开电灯)封装成特定对象(客厅电灯对象)。所以,如果对每个按钮都存储一个命令对象,那么当按钮被按下的时候,就可以请命令对象做相关的工作。只有命令对象能和正确的对象沟通,把事情做好。电灯和遥控器对象解耦了。pub原创 2016-02-22 10:31:00 · 1356 阅读 · 1 评论 -
单件模式
单件模式Singleton Pattern:用来创建独一无二的,只能有一个实例的对象的入场券。单件模式确保一个类只有一个实例,并提供全局访问点。经典的单件模式实现:public class Singleton{ private static Singleton uniqueInstance;//记录唯一实例 private Singleton(){}//只有类内才可以调用构造器原创 2016-02-17 10:31:19 · 701 阅读 · 0 评论 -
工厂模式
前言烘烤OO的精华,除了new操作符之外,还有更多制造对象的方法。 工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。简单工厂简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。工厂factory处理创建对象的细节,一旦有了SimplePizzaFactory,orderPizza()就变成了此对象的客户。public class原创 2016-02-16 15:02:56 · 1034 阅读 · 0 评论 -
装饰者模式
运行时扩展,远比编译时期的继承威力大。 用对象组合的方式,做到在运行时装饰类。 在不修改任何底层代码的情况下,给你的对象赋予新的职责。装饰者和被装饰对象有相同的超类型,利用继承达到“类型匹配”,而不是利用继承获得“行为”装饰者可以在所委托被装饰者的行为之前或之后,加上自己的行为,以达到特定的目的。定义装饰者模式 装饰者模式动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性原创 2016-02-15 10:59:19 · 658 阅读 · 0 评论 -
观察者模式
有了观察者你将消息灵通。气象监测应用的概况 此系统中的三个部分是: 气象站——获取实际气象数据的物理装置 WeatherData对象——追踪来自气象站的数据,并更新布告板 布告板——显示目前天气状况给用户看出版者+订阅者=观察者模式 主题(Subject)+观察者(Observer) 说明: 1. 主题对象管理某些数据 2. 当主题原创 2016-02-14 15:22:37 · 706 阅读 · 0 评论 -
策略模式
使用模式的最好方式是:”把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们。”因为每一种鸭子的外观都不同,所以display()方法是抽象的。Java接口不具有实现代码,所以继承接口无法达到代码的复用。封装、抽象、继承、多态;良好的OO设计必须具备可复用、可扩充、可维护三个特性。设计原则 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。即变化的代原创 2016-02-04 17:13:38 · 707 阅读 · 0 评论