设计模式简记-设计原则之DRY原则

3.7 DRY原则

3.7.1 DRY 原则(Don’t Repeat Yourself)

  • 三种代码重复的情况:实现逻辑重复、功能语义重复、代码执行重复。
  • 实现逻辑重复,但功能语义不重复的代码,并不违反 DRY 原则。
  • 实现逻辑不重复,但功能语义重复的代码,也算是违反 DRY 原则。
  • 除此之外,代码执行重复也算是违反 DRY 原则。

3.7.2 代码复用性

  • 提高代码可复用性的一些方法

    • 减少代码耦合
    • 满足单一职责原则
    • 模块化
    • 业务与非业务逻辑分离
    • 通用代码下沉
    • 继承、多态、抽象、封装
    • 应用模板等设计模式
  • 复用意识也非常重要。在设计每个模块、类、函数的时候,要像设计一个外部 API 一样去思考它的复用性

  • Rule of Three

    第一次编写代码的时候,不考虑复用性;第二、三次遇到复用场景的时候,再进行重构使其复用

  • 辣么大:

    1、注释或者文档违反DRY
    2、数据对象违反DRY

    对于1,例如一个方法。写了好多的注释解释代码的执行逻辑,后续修改的这个方法的时候可能,忘记修改注释,造成对代码理解的困难。实际应用应该使用KISS原则,将方法写的见名知意,尽量容易阅读。注释不必过多。

    对于2、例如类

    class User{
      String id;
      Date registerDate;
      int age;
      int registedDays;
    }
    //其中 age可以由身份证号码算出来,而且每年都会递增。
    //注册会员多少天了,也可以算出来。所以是不是可以考虑,数据只存储id和注册时间。其余两个字段可以算出来。
    

猜你喜欢

转载自www.cnblogs.com/wod-Y/p/12770463.html