六大原则

只讲个人理解:

单一职责原则(方法:修改名字还是密码?接口:洗碗、买菜还是倒垃圾?类:注册、登录和注销)

简单来说就是将多个耦合聚集的东西进行拆分成单个,降低耦合度。


里氏替换原则(我儿来自新东方烹饪)

通俗来说就是继承父类的属性和方法不能改变,只能拓展自己新的方法和属性。可以改变父类进行方法和属性改写,但结构庞大时,会很麻烦。
依赖倒置原则(抠门的饭店老板)

简单来说是抽离公共的方法和属性放到接口进行公用

  1. 变量的表面类型尽量是接口或者是抽象类
  2. 任何类都不应该从具体类派生
  3. 尽量不要覆写基类的方法
  4. 结合里氏替换原则使用

接口隔离原则(小伙子的作坊)

也是公用接口才抽离,不然就只定义单个接口
迪米特法则(手机上看电子书)

高内聚、低耦合

没有直接关系的就不内嵌,有直接关系就可以内嵌

如手机中有阅读软件,阅读软件中有书籍,手机没有书籍任何影子

所以书籍类就不能放在手机类里面
开闭原则(社保这点事)

问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。

解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
 

总结:用抽象构建框架,用实现扩展细节

单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。

参考链接

https://blog.csdn.net/zhengzhb/article/details/7296944

https://blog.csdn.net/u011642663/article/details/90613637

你可能感兴趣的:(java,设计模式)