摘要:
大话设计模式讲的和连环画一样,还可以接上,作者真用心,看起来很有趣。 重要概念 1. 为其他对象提供一种代理以控制对这个对象的访问,就是为这个对象实例再包装一层。 2.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实,比如WebService。 3.虚拟代理,是根据需要创建开销很大的对象,通过他来存放实例化需要很长时间的真实对象。例如网页中的... 阅读全文
摘要:
重点概念 1. 把所需的功能按正确的顺序串联起来进行控制。 2. 动态地给一个对象添加一些额外的职责(功能),就添加功能来说,装饰模式比生成子类更为灵活。 3. 感觉和策略模式很像,但是条件设置方法放在父类的公共方法中被继承,区别装饰模式的重点在于“扩展”两个字,扩展原有功能,而不是动态的选择功能。 4. 装饰模式是利用“装饰者类”中的SetComponent 来设置被扩展对象的。这样装饰对... 阅读全文
摘要:
1. 抽象不应该依赖细节,细节应该依赖于抽象(接口,抽象类)。 2. 针对接口编程,不要对实现编程。 3. 高层模块不依赖底层模块,两者都应该依赖抽象。 4. 依赖倒置含义在于,相互之间不依赖,除了约定好的接口实现,大家都可以灵活自如,子类实现接口进行“策略工厂”实现,高层模块通过使用接口来实现“开闭依赖倒置”。 5.依赖倒置其实可以说是面向对象设计的标志,用何种方式实现不重要,重要在于如何... 阅读全文
摘要:
1. 不能修改该,但可以扩展的思想就是开闭原则 2. 软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。也就是对扩展开放,对更改关闭 3. 在面对需求的变更却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出先的版本 4. 多扩展,少修改。 5. 开闭原则的意思就是说,你设计的时候,时刻要考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来了,我们增加一些类就可... 阅读全文
摘要:
1. 单一职责,对一个类而言,应该仅有一个引起他变化的原因。 2. 如果一个类承担的职责过度,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完整其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 3. 单一职责和单件模式不是一回事,单件模式指要求一个类有且仅有一个实例,并且提供了一个全局的访问点。 4. 单一职责想要告诉我们的是,根据功能... 阅读全文