设计模式的产生背景和重要性

设计模式的概念

设计模式(design)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案

这个术语是由四人帮在1990年代从建筑设计领域引入到计算机科学的。

为什么要学习设计模式

graph LR; a[开发任务]-- 一周开发一个版本 -->b[实现功能]

第一个,设计模式可以让你的程序体现出更好的代码重用性、可靠性、可维护性、可以让程序体现出高内聚、低耦合的特性。

  • 代码重用性:即相同功能的代码,一次编写,多次使用
  • 可读性:即编码的规范性
  • 可扩展性:即可维护性,当需要增加新功能的时候,成本非常第,课扩展性就非常高

高内聚&低耦合

  • 内聚:主要描述的是模块内部
  • 耦合:主要描述的是模块内部之间的关系
  • 高内聚:一个功能模块内部的元素,关联性非常强
  • 低耦合:模块之间的耦合性非常低

第二个,掌握了设计模式,看一些源码会非常清晰。
第三个,设计模式也是系统合理重构的指南针。

graph LR; a[不改变原来软件的功能]-- 通过调整程序代码 -->b[趋于合理]

设计模式原则

何为设计模式的原则?

  • 程序员在编程时,应当遵守的准则
  • 设计模式的基础、依据
  • 不是孤立存在的相互依赖的、相互补充的,每一种都很重要
名称 设计原则简介
单一职责原则 类的职责要单一,不能将太多的职责放到一个类中
开闭原则 软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能
里氏代换原则 在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象
依赖倒置原则 要针对抽象层编程,二不要针对具体类编程
接口隔离原则 使用多个专门的接口来取代一个统一的接口
合成复用原则 在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系
迪米特法则 一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此之间通信,那么这两个类就不应当发生直接的互相作用,而是通过引入一个第三者发生间接交互
转载请注明出处:https://www.cnblogs.com/stu-jyj3621
原文地址:https://www.cnblogs.com/stu-jyj3621/p/14667131.html