摘要: 命令模式:将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。用到的原则: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) 编辑