设计模式七大原则(学习笔记)

设计模式七大原则

  1. 单一职责原则编程

    • 核心设计模式

      一个类只负责一项职责框架

    • 优势ide

      1. 下降类的复杂度
      2. 提升类的可读性和可维护性
      3. 下降变动引发的风险
      4. 若是逻辑比较简单,能够在方法上遵照单一职责,下降代码量
    • 实例工具

      1. 交通工具测试

        分为轮船,飞机、汽车。每一个类实现一个职责设计

      2. DAO类code

        一个DAO负责一个表的增删改查。对象

    • 代码继承

      代码部分参考了尚硅谷韩顺平老师的内容。

      /**
      * @program:design_pattern
      * @descript:公路
      * @author: luyongjian746
      * @create: 2020-02-11
      */
      public class Road {
      
         public void run(String vehicle) {
             System.out.println(vehicle + "在公路上跑");
         }
      }
      /**
        * @program:design_pattern
        * @descript:天空
        * @author: luyongjian746
        * @create: 2020-02-11
        */
       public class Sky {
      
           public void run(String vehicle) {
               System.out.println(vehicle + "在空中飞");
           }
       }
      /**
      * @program:design_pattern
      * @descript:海
      * @author: luyongjian746
      * @create: 2020-02-11
      */
      public class Sea {
      
         public void run(String vehicle) {
             System.out.println(vehicle + "在海中航行");
         }
      }
      /**
      * @program:design_pattern
      * @descript:测试
      * @author: luyongjian746
      * @create: 2020-02-11
      */
      public class Test {
      
         public static void main(String[] args) {
             Road road = new Road();
             road.run("汽车");
      
             Sky sky = new Sky();
             sky.run("飞机");
      
             Sea sea = new Sea();
             sea.run("轮船");
         }
      }

      结果:

      汽车在公路上跑
      飞机在空中飞
      轮船在海中航行
  2. 接口隔离原则

    • 核心

      客户端不该该依赖于他不须要的接口。即一个类对另一个类的依赖,应该创建在最小的接口上。

      将大接口拆解成多个小的接口。

    • 优势

    • 实例

    • 代码
  3. 依赖倒置原则

    • 核心
      1. 高层模块不该该依赖底层模块。两者都应该依赖其抽象。
      2. 抽象不该该依赖细节,细节应该依赖其抽象。
      3. 核心为面向接口编程。
    • 优势
    • 实例
    • 代码
  4. 里式替换原则

    • 核心

      子类继承父类时尽可能不要重写父类的方法。

    • 优势

    • 实例

    • 代码
  5. 开闭原则

    • 核心

      对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。

    • 优势

    • 实例

    • 代码
  6. 迪米特法则

    • 核心

      一个类应该对其余对象保持最小的了解。

      若是不是直接朋友,在一个方法中出现了其余类的局部变量,就违反了迪米特法则。

      直接朋友是指,某方法的参数,返回值所使用的类,则此类为该方法所属类的直接朋友。

    • 优势

    • 实例

    • 代码
  7. 合成复用原则

    • 核心

      尽可能使用合成或复用代替继承。

      合成:A类做为成员变量或者参数的形式出如今B类

      复用:A类以new A()的方式出如今B类中

    • 优势

    • 实例

    • 代码
相关文章
相关标签/搜索