上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
摘要: 状态模式:允许对象在内部状态改变时改变他的行为,对象看起来好像修改了他的类。 用到的设计原则1、封装变化2、多用组合,少用继承3、针对接口编程,不针对实现编程4、松耦合5、对扩展开放,对修改关闭6、依赖抽象,而不依赖具体7、只和朋友交谈8、别找我,我会找你9、类应该只有一个修改的理由 例子来自《He 阅读全文
posted @ 2016-12-26 20:28 bad_boy_f 阅读(529) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/jaune161/article/details/44198599http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/zhengdan66/article/details/481585 阅读全文
posted @ 2016-12-26 19:06 bad_boy_f 阅读(14706) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式:提供一种方法书序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 用到的设计原则:1、封装变化2、多用组合,少用继承|3、针对接口编程,不针对实现编程4、松耦合5、对扩展开放,对修改关闭6、依赖抽象,不依赖具体7、只和朋友交谈8、别找我,我会找你9、类应该只有一个改变的理由 迭代器 阅读全文
posted @ 2016-12-26 16:32 bad_boy_f 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。设计原则:1、封装变化2、多用组合少用集成3、针对接口变成而非实现4、松耦合5、类对修改关闭,对扩展开放6、依赖抽象而飞具体类7、只和朋友交谈(迪米特原则) 阅读全文
posted @ 2016-12-26 11:20 bad_boy_f 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 适配器模式:将一个类东街口转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 适配器模式有两种,对象适配器和类的适配器。先看一下对象适配器。 还是看最开始鸭子的例子,如果此时鸭子不够了,需要一个火鸡来充当一个鸭子。 对象适配器 类图: 适配器的需要进行的工作和目标接口的大小成正比。 阅读全文
posted @ 2016-12-23 11:28 bad_boy_f 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 命令模式:将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。用到的原则:1、封装变化2、组合优于继承3、针对接口编程,不能针对实现编程4、解耦5、类对修改关闭,对扩展开放6、依赖抽象,不依赖具体 命令模式很好理解,直接看代码 类图 命令模式主要就是让 阅读全文
posted @ 2016-12-22 20:40 bad_boy_f 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 单例模式:确保一个类只有一个实例,并提供一个全局访问点。用到的设计原则:1、封装变化2、组合优于集成3、针对接口变成而不是针对实现4、为交互对象之间的松耦合设计而努力5、类应该对扩展开放,对修改关闭6、依赖抽象,而不是依赖具体类 最简单的单例 但是这样在多线程的情况下就会出问题。当两个线程同时第一次 阅读全文
posted @ 2016-12-22 19:24 bad_boy_f 阅读(253) 评论(0) 推荐(0) 编辑
摘要: (用到了依赖倒置原则) 我们写的代码中,有的时候可能会出现根据外面给定的不同的参数在方法中根据参数实例化不同的实例,就是会根据不同的参数会new出不同的实例。如果这么写了,这段代码会非常的脆弱,一旦出现新的类型,那么就需要重写将这段代码找出来添加写的new。之前说过针对接口编程,而不是针对实现。这句 阅读全文
posted @ 2016-12-22 18:46 bad_boy_f 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式:动态的将责任附加到对象上,若要扩展功能,装饰者提供了比集成更有弹性的替代方案。设计原则:1:封装变化2:多用组合,少用继承3:针对接口编程,不针对实现编程4:为对象之间的松耦合设计而努力5:对修改关闭,对扩展开放 用Head First 设计模式中的例子。 一个咖啡店,会有各种类型的咖啡 阅读全文
posted @ 2016-12-22 13:53 bad_boy_f 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 观察者模式定义了对象之间一对多的依赖,这样依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 假如有这么一个项目,监控每天的天气状况WeatherData(温度,湿度,气压)。有布告板显示天气的不同内容。天气要实时更新,布告板内容也会随着更新。要求可扩展,将来还有可能有别的布告板,W 阅读全文
posted @ 2016-12-19 21:04 bad_boy_f 阅读(219) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页