设计模式介绍

fd4d278b4b5545a98f5ba6faa58a6a25.jpg概念:

 

设计模式是一套被反复使用的、多数人知晓、经过分类编目的优秀代码设计经验的总结。特定环境下特定问题的处理方法。

1)重用设计和代码 重用设计比重用代码更有意义,自动带来代码重用

2)提高扩展性 大量使用面向接口编程,预留扩展插槽,新的功能或特性很容易加入到系统中来

3)提高灵活性 通过组合提高灵活性,可允许代码修改平稳发生,对一处修改不会波及到其他模块

4) 提高开发效率 正确使用设计模式,可以节省大量的时间

 

1.单一原则(Single Responsibility Principle):一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;

a、业务对象(BO business object)、业务逻辑(BL business logic)拆分;

2.里氏替换原则(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能;(本质其实就是c++的多态)

  (目的:增强程序的健壮性)实际项目中,每个子类对应不同的业务含义,使父类作为参数,传递不同的子类完成不同的业务逻辑。

3.依赖倒置原则(dependence inversion principle):面向接口编程;(通过接口作为参数实现应用场景)

  抽象就是接口或者抽象类,细节就是实现类

  含义:

    上层模块不应该依赖下层模块,两者应依赖其抽象;

    抽象不应该依赖细节,细节应该依赖抽象;

通俗点就是说变量或者传参数,尽量使用抽象类,或者接口;

【接口负责定义public属性和方法,并且申明与其他对象依赖关系,抽象类负责公共构造部分的实现,实现类准确的实现业务逻辑】

4.接口隔离(interface segregation principle):建立单一接口;(扩展为类也是一种接口,一切皆接口)

   定义:

    a.客户端不应该依赖它不需要的接口;

    b.类之间依赖关系应该建立在最小的接口上;

简单理解:复杂的接口,根据业务拆分成多个简单接口;(对于有些业务的拆分多看看适配器的应用)

 【接口的设计粒度越小,系统越灵活,但是灵活的同时结构复杂性提高,开发难度也会变大,维护性降低】   

5.迪米特原则(law of demeter LOD):最少知道原则,尽量降低类与类之间的耦合;

一个对象应该对其他对象有最少的了解

  

6.开闭原则(open closed principle):用抽象构建架构,用实现扩展原则;(总纲)

(solid稳定的 记忆首字母)

相关推荐

  1. 设计模式(1):介绍

    2024-01-24 09:42:02       39 阅读
  2. 设计模式介绍

    2024-01-24 09:42:02       32 阅读
  3. 几种设计模式介绍

    2024-01-24 09:42:02       56 阅读
  4. 设计模式实现思路介绍

    2024-01-24 09:42:02       33 阅读
  5. 详细介绍设计模式七大原则

    2024-01-24 09:42:02       43 阅读
  6. 23种设计模式详细介绍

    2024-01-24 09:42:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-24 09:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-24 09:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-24 09:42:02       82 阅读
  4. Python语言-面向对象

    2024-01-24 09:42:02       91 阅读

热门阅读

  1. SASS简介及使用方法

    2024-01-24 09:42:02       56 阅读
  2. Matlab使用Python

    2024-01-24 09:42:02       54 阅读
  3. Flutter 屏幕适配之相对尺寸适配

    2024-01-24 09:42:02       44 阅读
  4. uniapp 中使用 rem 以及改变窗口动态刷新页面

    2024-01-24 09:42:02       39 阅读
  5. Node.js Shell 脚本开发指南(中)

    2024-01-24 09:42:02       46 阅读
  6. 第六章 使用 SQL Search - 词干提取和分解

    2024-01-24 09:42:02       48 阅读
  7. 2401llvm,合并clang语法树

    2024-01-24 09:42:02       44 阅读
  8. MRD市场需求文档

    2024-01-24 09:42:02       52 阅读
  9. windows 安装sql server 华为云文档

    2024-01-24 09:42:02       53 阅读