
设计模式
ssjjy
成功道路上的坚定不移比什么都重要
展开
-
设计模式六大原则提炼
原则一:单一职责原则 http://blog.youkuaiyun.com/zhengzhb/article/details/7278174只有逻辑足够简单,才可以在代码级别上违反单一职责原则;只有类中方法数量足够少,才可以在方法级别上违反单一职责原则。转载 2014-03-06 18:08:36 · 733 阅读 · 0 评论 -
设计模式学习(九)——模板方法模式
参考书——《HeadFirst设计模式》和书中一样,用冲咖啡和沏茶来说这个设计模式 冲咖啡: 沏茶: 制作饮料:step1 烧水 烧水原创 2014-03-28 20:13:46 · 585 阅读 · 0 评论 -
设计模式学习(八)——外观模式
外观模式的主要思想是将复杂的细粒度的对象服务包装成简单的易使用的粗粒度的功能服务。 外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。原创 2014-03-28 15:13:58 · 468 阅读 · 0 评论 -
设计模式学习(七)——适配器模式
参考书——《HeadFirst设计模式》 从现实生活中来说这个模式=====》普通插座,手机的充电器,数据线。我们不能把数据线直接插在普通插座上,因为普通插座没有usb接口,可我们可以把充电器插在普通插座上,然后再把数据线与充电器相连接,这样就ok了。OO适配器和现实世界中的适配器扮演者同样的角色——将一个接口转换成另一个接口,以符合客户的期望。原创 2014-03-28 14:33:13 · 409 阅读 · 0 评论 -
设计模式学习(六)——命令模式
参考书——《HeadFirst设计模式》命令模式最关键的点——将“请求”封装成对象。使得发出请求的对象(Invoker)和接受与执行这些请求的对象(Receiver)分隔开来。定义:将”请求“封装成对象,以便使用不同的请求、队列、日志来参数化其他对象。命令模式也支持可撤销的操作。一个命令对象通过在特定接受者上绑定一组动作来封装一个请求。要达到这一点,命令对象将动原创 2014-03-28 11:57:30 · 466 阅读 · 0 评论 -
设计模式学习(四)——装饰者模式
参考书——《HeadFirst设计模式》* 装饰者和被装饰对象有相同的超类型。* 你可以用一个或多个装饰者包装一个对象。* 既然装饰者和被装饰(亦即被包装的组件)对象有相同的超类型,所以在任何需要原始对象(被包装的)的场合, 可以用装饰过的对象代 替它。* 装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,以达到特定的目的。* 对象可原创 2014-03-10 17:01:18 · 558 阅读 · 0 评论 -
设计模式学习(三)——观察者模式
参考书——《HeadFirst设计模式》主题(subject)+观察者(observer)=观察者模式——解释:主题对象管理某些数据,观察者已经订阅主题。当主题内的数据改变,就会通知观察者。观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。在最基础的观察者模式中,包括以下四个角色:被观察者:有一个原创 2014-03-10 14:51:21 · 534 阅读 · 0 评论 -
设计模式学习(一)——工厂方法模式【Factory Method Pattern】
参考书——《HeadFirst设计模式》工厂方法用来处理对象的创建,并将这样的行为分装在子类中。这样,客户端程序中关于超类的代码就和子类对象创建代码解耦了。 1原创 2014-03-07 15:22:31 · 597 阅读 · 0 评论 -
设计模式学习(二)——抽象工厂模式
参考书——《HeadFirst设计模式》定义:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。要理解抽象工厂,先得理解两个概念:产品族 &产品等级(这两个词,主要用来理解)http://lavasoft.blog.51cto.com/62575/11674/就用HeadFirst设计模式里的例子:原料工厂就是一个抽象工厂,纽约原料原创 2014-03-07 18:57:17 · 646 阅读 · 0 评论 -
设计模式学习(五)——单例模式
参考书——《HeadFirst设计模式》单例模式有着和全局变量一样的优点方便,却没有它的缺点,利用单例模式可以在需要的时候创建对象。苏格拉底式的分析,如下:一个公共类,如果它的构造器是private的,会怎样?public class Singleton { private Singleton(){}}含有私有构造器的类不能被实例化。那有可以使用私有原创 2014-03-10 17:42:16 · 453 阅读 · 0 评论