前任栽树后人乘凉,大佬们总结出了很多设计模式。这些设计模式会遵循一定的设计原则,一共7点;
1.开闭原则(OCP):对扩展开放、对修改关闭;即扩展性好,易于维护和升级。关键:抽象化;
1.1运用:工厂模式
1.2指导方针:找出不变的部分,把他们从变化的部分分离出来
2.里氏替换原则(LSP):任何基类可以出现的地方,子类一定可以出现。实现抽象化的具体步骤规范;
3.依赖倒转原则(Dependency Inversion Principle):针对接口编程,依赖于抽象而不依赖于具体类;
3.1概念:依赖倒转即让低层组件依赖高层组件;而且,不管高层或低层组件,“两者”都应该依赖于抽象。
3.2名词说明:
高层组件:是由其他低层组件定义其行为的类。例如:PizzaStore是个高层组件,因为它的行为是由Pizza定义的:PizzaStroe创建所有不同的披萨对象,准备、烘烤、切片、装盒
3.3运用:工厂模式最具代表性
3.4指导方针:(帮你在OO设计中违反依赖倒置原则)
* 变量不可以持有具体类的引用;->可以是抽象类的引用
* 不要让类派生自具体类;->如果派生自具体类,你就会依赖具体类。请派生自一个抽象(接口或抽象类)
* 不要覆盖基类中已是实现的方法。->如果覆盖基类中已实现的方法,那么你的基类就不是一个真正适合被继承的抽象
4.接口隔离原则(ISP):使用多个隔离的接口比使用单个接口好。目的:降低类之间的耦合度;
5.最少知道原则:又叫迪米特法则,一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立;
6.合成复用原则(Composite Reuse Priciple):尽量使用合成、聚合的方式,而不是继承
7.单一职责原则:一个类只有一个引起它变化的原因

设计模式(二):设计原则相关推荐

  1. 重温设计模式二 设计原则之依赖倒置原则

    依赖倒置原则 1 定义 2 解释 1 定义 依赖倒置原则的定义 1 高层模块不依赖于底层模块 ,应该依赖抽象(接口) 2 抽象不应依赖于实现类 3 实现类应该依赖于抽象(接口) 一句话解释就是面向 接 ...

  2. Go设计模式(3)-设计原则

    上一篇文章Go设计模式(2)-面向对象分析与设计里讲过,做设计最重要的是保留合适的扩展点.如何才能设计出合适的扩展点呢? 这篇文章会讲解一下经典的设计原则.这些设计原则大家可能都听过,但可能没有想过为 ...

  3. 设计模式-六大设计原则(附加实际开发建议以及计算器例子)

    使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.设计模式使代码编制真正工程化,是软件工程的基石脉络,如同大厦的结构一样. 文章结构: 1.单一职责原则(SRP): 2.里氏替换原 ...

  4. 设计一个矩形类rectangle_万字长文带你捋清六种设计模式的设计原则(建议收藏)...

    对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去.可是,在日常的打码中,用的最多的就是单例,其次是观察者和建造者模式 ( bu ...

  5. 设计模式 - 七大设计原则(一)

    设计模式 - 七大设计原则(一) 概述 简单介绍一下七大设计原则: 开闭原则:是所有面向对象设计的核心,对扩展开放,对修改关闭 依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体 单一职责原则:一个 ...

  6. 【设计模式】设计原则

    [设计模式]设计原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率.节约软件开发成本和维护成本. 1 开闭原 ...

  7. 设计模式之设计原则与思想:设计原则(二)

    文章目录 KISS 原则 YAGNI 原则 DRY 原则 代码复用性(Code Reusability) 何为"高内聚.松耦合"? 迪米特法则(LOD) 为什么要分 MVC 三层开 ...

  8. 设计模式与设计原则 —— 一句话

    一.设计原则 二.设计模式 范围\目的 创建型模式 结构型模式 行为型模式 类模式 工厂方法 (类)适配器 模板方法.解释器 对象模式 单例 原型 抽象工厂 建造者 代理 (对象)适配器 桥接 装饰 ...

  9. JAVA关于设计模式六大设计原则

    设计模式 前言 一.单一职责原则 1.定义 2. 问题由来 3.单一职责优点: 二.里式替换原则 1.定义: 2.含义: 3.优缺点: 4.注意事项 三.依赖倒置原则 1.定义 2.作用 3.实现方法 ...

  10. UML类图、JAVA DesignMode 设计模式、设计原则

    全文2.6W余字,读完需要20分钟,介绍23种设计模式,每个模式都有案例与真实使用场景,能够帮助初学者快速了解设计模式,建立起对代码中设计模式的初步理解,要明确:设计模式只是帮助我们更好的设计代码架构 ...

最新文章

  1. 数十名工程师作战5天,阿里达摩院连夜研发智能疫情机器人
  2. 【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
  3. asp.net源碼坊論壇上線
  4. 《浪潮之巅》 读后感
  5. 虚函数和作用域(C++ primer 第五版)P550
  6. 使用说明 vector_Paddlepaddle学习|Ubuntu环境使用 Mahout 进行朴素贝叶斯模型的训练和测试...
  7. 闲来没事写个记事本玩玩!!!
  8. Array.Sort方法
  9. 通过样式class也是可以控制超链接是否弹窗
  10. 设计模式(十三): 命令模式
  11. Tensorflow训练神经网络
  12. leetcode讲解--513. Find Bottom Left Tree Value
  13. php原生判断,JavaScript
  14. 2023年天津仁爱学院专升本考试考务费网上缴费的通知
  15. 盛大文学云中书城zz
  16. Linux常用的终端操作命令
  17. Oracle索引与where
  18. ChatGPT中文网 - ChatGPT国内网页版在线使用
  19. 解决无线网卡打不开的问题(by quqi99)
  20. (知乎)我想问一下PHP的学习路线图

热门文章

  1. 剑指Offe6-反转链表
  2. shell:sed 替换换行符
  3. 国内外可信计算技术发展概况(转载1)
  4. 在ThinkAdmin中增加显示数据表格汇总金额
  5. 【源码】自主机器人路径规划仿真器(FAMU-FSU工程学院自主移动机器人项目)
  6. 常见搜索算法(二):二分查找
  7. 使用html2canvas生成海报
  8. 《流浪方舟》- 废土世界的冒险之旅
  9. 家族谱树形数据结构实现
  10. Eclipse新建Android项目报错解决方案详细汇总