设计模式-6大原则

好处:
改善系统设计,提高系统健壮性,可扩展性;
注意:
起初对系统设计时,将确定的点去掉,不确定的点不要假设存在

**********六大原则***********
一,单一职责
每个类只负责单一的功能,并且应该将一个功能做到极致
例如:计算器类中只负责计算不应该有读取数据的方法,读取数据应该单独处理

二,里氏替换
一个子类应该替掉父类并且能正常工作(子类一般不该重写父类方法)
例如:
类A,父类B,子类C
类A使用了父类B的方法,然后子类C覆盖了父类C的方法抛出不支持该操作的异常;

三,接口隔最小化
一个接口拥有的行为应该尽可能的小
如果不能最小化,会发生实现了该接口后,很多方法是空的
例如:
一个手机接口,有打电话,发短信,玩游戏三个方法;
玩游戏不是手机接口必须的方法,可以考虑将其进行扩展操作;
public interface Mobile{
call(); //打电话
sendMessage(); //发短信
// playGame(); //玩游戏 //不是手机接口必须接口考虑扩展
}

扩展后:
public interface SmartPhone extends Mobile{
playGame(); //玩游戏
}

四,依赖倒置
高层模块不应该依赖底层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象


五,迪米特
一个类尽量不要知道其他类太多东西,不要和陌生的类有太多接触
一个类应该尽量降低其他类的耦合度,其他类只需知道这个类对外提供的功能即可


六,开闭原则
对修改关闭,对扩展开放
任何改变都不需要修改原有的代码,而只需要加入一些新的实现,即可完成新的需求

**用抽象构建框架,用细节实现扩展**

posted @ 2017-02-10 11:22  wanhua.wu  阅读(171)  评论(0编辑  收藏  举报