zoukankan      html  css  js  c++  java
  • JAVA设计模式-设计原则

    6大原则:

    • 单一职责原则
    • 里氏替换原则
    • 依赖倒置原则
    • 接口隔离原则
    • 迪米特法则
    • 开闭原则

    一、单一职责原则

    定义:应该有且仅有一个原因引起类的变更

    带来的好处:

    • 类的复杂性降低,实现什么职责有清晰明确的定义
    • 可读性提高
    • 可维护性提高
    • 变更引起的风险降低

    对于单一职责原则,建议接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

    二、里氏替换原则

    继承的优点:

    • 代码共享,减少创建类的工作量,子类拥有父类的属性和方法
    • 提供代码重用性
    • 提供代码扩展性
    • 提供产品或项目开放性

    继承缺点:

    • 继承是侵入性的,只要继承,就必须要继承父类的属性和方法
    • 降低代码的灵活性,子类必须拥有父类的属性和方法
    • 增加了耦合性,父类的常量、变量和方法被修改时,必须要考虑子类的修改

    怎样才能让“利”的因素发挥到最大的作用,同时减少“弊”带来的麻烦?

    解决方法是引入里氏替换原则。

    定义:所有引用基类的地方必须能透明地使用其子类的对象。

    采用里氏替换原则的目的是增强程序健壮性,版本升级时也可以保持很好的兼容性。增加新的子类,原有的子类还可以正常运行。

    在实际项目中,每个子类对应不同的业务含义,将父类作为参数传递给子类完成不同的业务,非常完美。

    三、依赖倒置原则

    定义:

    高层模块应该依赖低层模块,两者都应该依赖抽象

    抽象不应该依赖细节

    细节应该依赖抽象

    java语言中的表现:

    模块间的依赖通过抽象产生,实现类之间不产生依赖关系,其依赖关系是通过接口或抽象类产生。

    接口和抽象类不依赖实现类

    实现类依赖接口或抽象类

    更加精简的定义“面向接口编程”。

    依赖倒置原则的好处:

    减少类之间的耦合性,提高系统的稳定性,降低并行开发引起风险,提高代码可读性和可维护性

    四、接口隔离原则

    定义:

    • 客户端不应该依赖它不需要的接口
    • 类间的依赖应该建立在最小的接口上

    (要求接口细化,接口纯洁,接口尽量细化,同时接口中的方法尽量少)

    五、迪米特法则

    迪米特法则,也称最少知道原则。

    定义:

    一个对象应该对其它对象最少的了解。一个类,应该对自己需要耦合、调用的类知道的最少。

    好处:

    迪米特法则的核心观念是类间解耦,弱耦合,只有弱耦合以后,类的复用率才可以提高。

    六、开闭原则

    定义:

    一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。

    好处:

    • 增强系统稳定性
    • 提高复用性
    • 提高可维护性
  • 相关阅读:
    Shell脚本学习笔记2
    Shell脚本学习笔记1
    华大MCU硬件SMBus的应用
    华大MCU的应用中的问题记录
    STM32定时器输入捕获功能应用——超声波模块
    STM32定时器应用——PWM
    利用KEIL的软件仿真的逻辑分析仪功能观察GPIO的波形
    周期性过程数据通信和非周期性邮箱数据通信
    JDBCUtils
    反射
  • 原文地址:https://www.cnblogs.com/azhqiang/p/8674480.html
Copyright © 2011-2022 走看看