设计模式七大原则简述

参考链接:https://baijiahao.baidu.com/s?id=1718719324807159216&wfr=spider&for=pc

  设计模式原则,其实就是程序员在编程时,应当遵循的原则,也就是各种设计模式的基础,即设计模式为什么这样设计的依据。

  设计模式七大原则有:单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则。

单一职责原则

  对类来说,一个类应该只负责一项职责。如类A负责两个不同的职责:职责1,职责2。当职责1需求变更而改变类A时,可能造成职责2执行错误。所以需要将类A分解为A1,A2。

接口隔离原则

  客户端不应该依赖它不需要的接口,即一个类对另外一个类的依赖应该建立在最小的接口上。即尽量不要一个接口存在一个类不需要功能,如果存在,应该将该接口分离为两个接口。

依赖倒转原则

  依赖倒转原则是指高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象;依赖倒转的中心思想是面向接口编程。

里氏替换原则

  在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法。

  继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。

  继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来侵入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能产生故障。所以,在编程中,如何正确的使用继承?使用里氏替换原则。

开闭原则

  当应用的需求改变时,在不修改软件实体的源代码或二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

迪米特法则

  迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供 public方法,不对外泄露任何信息。

合成复用原则

  合成复用原则就是尽量使用合成/聚合的方式,而不是使用继承。

设计模式七大原则简述相关推荐

  1. 设计模式七大原则知识概括

    设计模式七大原则知识概括 设计模式的目的 设计模式七大原则 单一职责原则 接口隔离原则 依赖倒转(倒置)原则 里氏替换原则 开闭原则 迪米特法则 合成复用原则 设计原则核心思想 设计模式的目的 目的: ...

  2. Java面试之设计模式七大原则

    最近项目不太忙,不怎么加班,正利用晚上时间好好学习学习设计模式,之前可能多多少少都用到过,但是有些还是很模糊,这下正好系统的学一下. 好了,话不多说,进入正题. 1.什么是设计模式? 软件工程中,设计 ...

  3. 第 2 章 设计模式七大原则

    第 2 章 设计模式七大原则 1.设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战, 设计模式是为了让程序(软件),具有如下更好的 ...

  4. 设计模式——七大原则(附代码示例)

    一. 设计模式概念         对接口编程而不是对实现编程:优先使用对象组合而不是继承 二. 设计模式总览 1. 创建型模式(Creational Patterns):(5) 单例(Singlet ...

  5. 设计模式——七大原则

    设计模式--七大原则 汇总篇 1.单一职责 2.接口隔离 3.依赖倒转 4.里氏代换原则 5.开闭原则 6.迪米特法则 7.合成复用 汇总篇 1.单一职责 对类来说的,即一个类应该只负责一项职责.如类 ...

  6. 图解设计模式-设计模式七大原则

    Java设计模式 设计模式七大原则 设计模式的目的 编写软件过程中,程序员面临来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让 **程序(软件)**具有更好的 ...

  7. Day305.设计模式七大原则 -Java设计模式

    七大设计原则 一.设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好的↓↓↓ 1. 代码重用 ...

  8. Java设计模式七大原则-单一职责原则

    目录 概述:设计模式的目的 设计模式七大原则 单一职责原则 单一职责原则注意事项和细节 概述:设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等 ...

  9. 设计模式七大原则介绍

    文章目录 1. 设计模式有哪些种类 2. 设计模式的目的 3. 设计模式七大原则 3.1. 单一职责原则 1. 基本介绍 2. 模拟场景 2. 接口隔离原则 1. 基本介绍 2. 模拟场景 3. 依赖 ...

  10. JAVA设计模式七大原则

    设计模式七大原则 设计模式目的 1.代码重用性 2.可读性 3.可读性 4.扩展性 5.可靠性 6.高内聚低耦合 七大原则 1.单一职责原则 一个类或方法中只做一件事情 2.接口隔离原则 一个类通过接 ...

最新文章

  1. fftw_plan_dft_2d优化
  2. webpack window 添加第三方库
  3. 分析性能瓶颈 — 调试OutOfMemoryException
  4. JS基础入门篇(四十三)—ES6(二)
  5. 添加jQuery方法解析url查询部分
  6. C# .NET 使用DotNetZip开源类库 处理 压缩/解压 Zip 处理乱码情况
  7. 软件开发 —— 过程资产与交付件
  8. python武器代码_程序员需要掌握的七种 Python 代码更易维护的武器
  9. scala trait 另一种用法类混入
  10. 新萝卜家园 ghost xp3 2013 5月纯净版
  11. windows 逆向技术必备知识(书籍)
  12. 手机计算机图标大全,我的电脑里我的手机图标怎么删除
  13. 乐Pro3 乐视X720/乐视X722通刷官方线刷包_救砖包_解账户锁
  14. github 访问慢,一键加速,完美访问
  15. 历数OpenMobile开发的一些坑
  16. 小程序入门第二课 — 组件与WXML语法
  17. java实现简单的文件下载
  18. [CortexM--CMSIS]详细的说明
  19. linux桌面版和服务器版区别_简单普及一些linux和windows的区别,减少新入手一些云服务时的不适应...
  20. 在html语言中pre的作用是什么标记,在html中,标记pre的作用是

热门文章

  1. numpy-np.Inf
  2. leetcode-二叉树中的最大路径和
  3. 人类视觉计算理论经典著作,豆瓣评分9.7,中文版惊鸿面世
  4. 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm...
  5. 完美C++(第5版)(双色)
  6. 单元测试之误解与困境
  7. HTML - 元素/标签和属性基础
  8. 【医疗影像处理】DICOM Rescale Intercept / Rescale Slope
  9. python的作用域分别有几种_Python中作用域的深入讲解
  10. 码支付如何对接网站_做“刷脸支付”怎么推广?怎么办理刷脸支付POS机?