Design Patterns
两鬓已不能斑白
这个作者很懒,什么都没留下…
展开
-
Head First 设计模式学习笔记 —— 单件模式
Head First 设计模式学习笔记 —— 单件模式原创 2016-08-21 14:27:28 · 458 阅读 · 0 评论 -
Head First设计模式学习笔记——观察者模式
Head First设计模式学习笔记——观察者模式问题来源: 如何建立对象之间的一对多的依赖关系,使得当一个对象改变状态时,其他依赖它的对象都能收到通知并自动更新。比如,在下图中,Subject对象和Observer1、Observer2、Observer3对象存在一对多的依赖关系,当Subject对象的状态改变时,如何通知3个Observer对象更新各自的状态。观察者模式就是用于解原创 2016-07-28 22:05:12 · 585 阅读 · 0 评论 -
Head First 设计模式学习笔记 —— 适配器模式
Head First 设计模式学习笔记 —— 适配器模式问题来源: 如何将一个接口转换为另一个接口? 答案是采用适配器模式。适配器就是一个接口转换器,在生活中无处不在,常见的有电源适配器,它可以在两孔插座和三孔插座之间起到转换的作用。虽然用户面对的是两孔插座,但是经过适配器的转换后,实际为用户提供服务的是三孔插座。类图如下;原创 2016-08-24 17:10:34 · 561 阅读 · 0 评论 -
Head First 设计模式学习笔记 ——策略模式
Head First 设计模式学习 ——策略模式简单理解 问题来源: 在子类继承父类时,如果子类不需要使用父类中的某些方法,该如何处理? 举个例子,如下图所示,父类Duck类抽象了现实世界中的鸭子,拥有quack()(鸣叫)、swim()(游泳)和fly()(飞行)成员方法;子类WildDuck(野鸭)、WoodDuck(木头鸭)均继承Duck类。那么问题来了,我们知原创 2016-07-27 19:22:41 · 924 阅读 · 2 评论 -
Head First 设计模式学习笔记——装饰者模式
Head First 设计模式学习笔记——装饰者模式简单理解问题来源: 如何动态地扩展一个类,将新的特性或功能附加到类上? 通常可以使用继承的方式实现,在子类中重写父类的方法。如下图所示定义了两个类,其中Class2继承自Class1。与Class1相比,Class2中的getData()方法先将data值加1再return,而父类的方法直接将data返回。因此可以说Cla原创 2016-08-16 11:52:46 · 568 阅读 · 0 评论