设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计模式分为三大类:

  • 创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式(5种)

  • 结构型模式:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(7种)

  • 行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。(11种)

设计模式的六大原则:

1.单一原则(Single Responsibility Principle)

一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;

     如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏

2.里氏替换原则(LSP liskov substitution principle)

子类可以扩展父类的功能,但不能改变原有父类的功能;(类似于多态)

  实际项目中,每个子类对应不同的业务含义,使父类作为参数,传递不同的子类完成不同的业务逻辑。

3.依赖倒置原则(dependence inversion principle)

高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,其核心思想是:要面向接口编程,不要面向实现编程。

4.接口隔离(interface segregation principle)

建立单一接口;(扩展为类也是一种接口,一切皆接口)

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

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

简单理解:复杂的接口,根据业务拆分成多个简单接口; 

5.迪米特原则(law of demeter LOD)

最少知道原则,尽量降低类与类之间的耦合;

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

6.开闭原则(open closed principle)

一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展

单一职责原则告诉我们实现类要职责单一

里氏替换原则告诉我们不要破坏继承体系

依赖倒置原则告诉我们要面向接口编程

接口隔离原则告诉我们在设计接口的时候要精简单一

迪米特原则告诉我们要降低耦合

开闭原则是总纲,告诉我们要对扩展开放,对修改关闭

接口隔离原则_设计模式的三大分类及六大原则相关推荐

  1. 接口隔离原则_设计模式六大原则

    作者:VieLei 原文:https://blog.csdn.net/s10461/article/details/53941097 在android中我们常提起的设计模式大约有23种,利用好设计模式 ...

  2. 接口隔离原则_设计模式之七大设计原则(上)

    这是雷总20多年前写的汇编程序,像诗一样优雅 而中国诗词讲究平仄.押韵.对仗等一系列的规则原则, 那么想要写出像诗一样优雅的程序你不得不知的 -- 设计模式之七大原则: 1.开闭原则:对修改关闭,对扩 ...

  3. 举例说明层次分析的三大原则_设计模式系列,六大设计原则

    设计模式和性能优化有没有关系?最近,我看到有人再讲性能优化的时候,讲到了"有些设计模式可以做到一定程度的性能优化". 我读书少,别骗我.我看过无数篇设计模式了,第一次听到有人说,设 ...

  4. python三大特征六大原则_设计模式-来玩魔王的咚!-51CTO博客

    每一个设计模式系统的命名.解释和评价了面向对象系统中一个重要的和重复出现的设计.这里面向对象划重点,意思是所有的设计模式都是针对面向对象的提出的. 设计模式的4个基本要素: 模式名称 问题 解决方案 ...

  5. 设计模式---设计模式的分类及六大原则

    设计模式 1.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:   工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式. 结构性模型,共七种:   适配器模型,装饰器模型,代 ...

  6. python三大特征六大原则_面向对象程序设计(Object Oriented Programming)的三大特性,六大原则...

    三大特性 封装.继承.多态性 拿简单工厂模式举例: namespace DesignMode_01 { // 计算基类 public class Operation { private double ...

  7. 设计模式六大原则_设计模式—设计六大原则

    1. 单一职责原则(SRP) 定义:就一个类而言,应该仅有一个引起它变化的原因. 从这句定义我们很难理解它的含义,通俗讲就是我们不要让一个类承担过多的职责.如果一个类承担的职责过多,就等于把这些职责耦 ...

  8. 代码规范七大原则_设计模式的七大原则详解||上篇

    Hello 丨World  当机会变得稀有,当竞争变得激烈 当方向不再清晰,当风口不再有风 关键词||设计模式 全文约7685字,细读大约需要20分钟 1 认识设计模式 1.1 什么是设计模式 所谓设 ...

  9. 依赖倒置原则_设计模式之SOLID原则

    在程序设计领域, SOLID(单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期引入,指代了面向对象编程和面向对象设计的五个基本原则.当这些原则被一起应用时,它们使 ...

最新文章

  1. springmvc+mybatis+sql server实现简单登录功能
  2. 百度地图 Android SDK - 检索功能使用的简单演示样例
  3. 【Python学习】 - Matplotlib二维绘图 - plt.matshow()和plt.imshow()区别对比
  4. gin-jwt对API进行权限控制
  5. cornerstone 库删除 后 重新添加 ,引用找不到,
  6. @scheduled注解配置时间_Spring Boot中使用@Scheduled创建定时任务
  7. 基于Python实现自动慢查询分析,邮件自动发送
  8. oracle spfile和pfile文件(转)
  9. 拼多多搜索热度怎么做|重庆乾胤
  10. 集成 React Native 到现有Android项目
  11. 微信小程序之文本换行居中
  12. Android电源键亮灭屏流程
  13. 瑞萨RL78 dataflash pfdl库使用教程
  14. 用ch340烧录stm32
  15. Redis学习7之Predis连接redis过程和测试
  16. 10道不得不会的 Java容器 面试题
  17. 关于LeetCode每日一题打卡失败的感悟
  18. 第六章 正则,BeautifulSoup,xpath
  19. 记录学习机器人建模与仿真遇到的问题(二)
  20. Bitnami Redmine安装配置指南

热门文章

  1. javafx ui_调用以验证JavaFX UI的响应能力
  2. 成为Java流大师–第1部分:创建流
  3. spring 事务持久性_项目学生:Spring数据的持久性
  4. Corda服务的异步流调用
  5. 为什么在生产中进行调试是如此诱人?
  6. 混合云的承诺,收益和产品
  7. Shebang来Java了吗?
  8. php cdi_DI / CDI –基础
  9. jaas_受JAAS保护的JAX-RS端点
  10. 什么是javax.ws.rs.core.context? [ 第2部分 ]