javay设计模式学习笔记

来源:互联网 发布:php数组添加元素的函数 编辑:程序博客网 时间:2024/06/03 15:16

多用组合,少用继承。

使用组合建立系统具体很大的弹性。


针对接口编程,而不是针对实现编程。

利用接口代表每个行为,行为的每个实现都将实现其中的一个接口。

“针对接口编程”真正意思是“针对超类型(supertype)编程”。接口不仅仅是interface,也是一个“概念”,关键在于“多态”。利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被绑死在超类型的行为上。“针对超类型编程”这句话,可以更明确地说成“变量的声明类型应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量。这也意味着,声明类时不用理会以后执行时的真正对象类型”。


找出程序中会变化的方面,然后将其和固定不变的方面相分离。


类应该对扩展开放,对修改关闭。


要依赖抽象,不要依赖具体类。

变量不可以持有具体类的引用。

不要让类派生自具体类。

不要覆盖基类中已实现的方法。

使用对象组合,以修改的接口包装被适配者。

一个类应该只有一个引起变化的原因

当一个模块或一个类被设计成只支持一组相关的功能时,我们说它具有高内聚;反之,当被设计成支持一组不相关的功能时,我们说它具有低内聚。

0 0
原创粉丝点击