二十三种设计模式图
​​​​​​​
23种设计模式
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。30秒记住23种设计模式,顺口溜【一个连贯的故事】
抽工建单原【抽工建单元(原)】
代桥外享适组装【在(代)桥外想试组装】
迭解策观状命中,责备模访【蝶姐侧观撞(到了)命中(钟),责备(其)模仿】
设计模式的六大原则
1、开闭原则(Open Close Principle)
开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,
实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。
想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitution Principle)
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,
任何基类可以出现的地方,子类一定可以出现。
LSP 是继承复用的基石,只有当派生类可以替换掉基类,
且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。
里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,
而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。3、依赖倒转原则(Dependence Inversion Principle)
这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。4、接口隔离原则(Interface Segregation Principle)
这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。
它还有另外一个意思是:降低类之间的耦合度。
由此可见,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调降低依赖,降低耦合。5、迪米特法则,又称最少知道原则(Demeter Principle)
最少知道原则是指:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。6、合成复用原则(Composite Reuse Principle)
合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承。

挑战30秒记住23种设计模式,顺口溜【一个连贯的故事】相关推荐

  1. 如何一分钟记住23种设计模式

    对于GoF(Gang of Four)的23设计模式对于喜欢软件编程的同志们来说应该都是听到都会虎躯一震,然后相视一笑或者在心里冷冷地呵呵一下.我们这里不谈设计模式是什么,也不谈设计模式的好处是什么, ...

  2. 快速记住23种设计模式

    设计模式主要分三个类型:创建型.结构型和行为型. 签合同,要分三步:1.创建新建合同 2.设计合同内容结构 3.要遵守合同的行为规范(对应创建,结构,行为三部分) 口诀: 1.单原二厂建 2.桥(帮) ...

  3. Java的7大设计原则和23种设计模式

    目录 一.UML类图 二. 设计原则 1.单一职责原则 2.里氏替换原则 3.依赖倒置原则 4.接口隔离原则 5.迪米特法则-最少知道原则 6.开闭原则 7.组合/聚合复用原则 三.Java中的23 ...

  4. 备战面试日记(3.3) - (设计模式.23种设计模式之结构型模式)

    本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.9 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...

  5. 备战面试日记(3.2) - (设计模式.23种设计模式之创建型模式)

    本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.6 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...

  6. 23种设计模式-完结!

    23种设计模式(Java版本) 总述 ​ 在大四的时候开始了作为一个码农的实习阶段,在进入公司之前,我只知道一些简单的工厂模式--比如简单工厂(对应还有"复杂"工厂).单例模式.代 ...

  7. 手把手教你23种设计模式

    文章目录 相关知识 简单工厂模式(不属于GoF 23 种设计模式) 工厂方法模式 抽象工厂模式 单例模式 原型模式 建造者模式 代理模式 门面模式(外观模式) 装饰器模式 享元模式 组合模式(整体-部 ...

  8. 渣男 23 式 | 23 种设计模式的通俗解释,看完秒懂

    点上方"菜鸟学Python",选择"星标"共460篇原创干货,第一时间送达 来源:http://zhuanlan.zhihu.com/p/100746724 设 ...

  9. 23种 设计模式 java 实例代码

    23种设计模式 文章目录 *23种设计模式* 一.设计模式的6/7 大原则: 1).UML类图定义 2).UML类图详解 1. 名称详解 **依赖(Dependency)** **泛化(General ...

最新文章

  1. MySQL5.7的date类型_Mysql5.7 虚拟列数据类型为DATE时,如何存入数据?
  2. Nginx SSL 配置
  3. [0630]Tyvj 1063 数字串
  4. 书籍《循环经济之道》-观后感-2021年12月
  5. 高性能滚动scroll(防抖和节流)
  6. robot motion planning介绍
  7. leetcode 429 层序遍历n叉树(C语言)
  8. 如何在tomcat下应用部署日志_教妹子用IDEA创建web应用,部署到Tomcat服务器
  9. [乐意黎原创] cuteftp 9 显示中文乱码
  10. python适合自学编程吗-对于0基础的人,直接学 Python 编程合适吗?
  11. 真不是开玩笑:同事因在涉及金钱交易中使用double造成无法挽回的损失,已跑路...
  12. ADFS令牌解密,令牌签名证书到期处理
  13. 网件 无线打印机服务器,如何设置打印机实现网件Air print功能
  14. 时空平稳性,空间自相关、异质性与非平稳性
  15. 为什么要去学习函数式编程
  16. XML文档类型定义---XML Schema
  17. 德鲁克《管理的实践》读后感-总结
  18. android 源代码 毛笔,android中实现毛笔效果(View 中绘图)
  19. ipsec-***过程
  20. Oracle DUL Data Unloader数据恢复工具信息汇总

热门文章

  1. threejs加载C4D模型及材质渲染实例
  2. 【BIM入门实战】Revit安装失败的常见问题及解决办法汇总
  3. CentOS安装桌面环境
  4. 评价法(三):yaahp软件——基础简介
  5. 全向和定向天线区别,何为天线增益
  6. 广州大学学生实验报告,进程控制与进程通信
  7. 如何实现智能仓储管理,降低企业管理成本?
  8. DEJA_VU3D - Cesium功能集 之 052-模拟卫星轨道(高空)效果
  9. 股票数据API接口合集:腾讯股票接口、麦蕊智数股票接口、和讯网股票接口、新浪股票接口、雪球股票数据、网易股票数据
  10. jpg与png图片的优缺点