美文网首页程序员
OO设计原则 和设计模式

OO设计原则 和设计模式

作者: 开心就好168 | 来源:发表于2017-07-17 11:06 被阅读0次

所谓的 OO设计原则的目的 是 1. Extensibility;2. Flexibility;3. Pluggability

1. 最小职责 原则:一个类做一个职责(角色);SRP

2. 里氏替换原则:子类不能改变 父类的 契约,即 子类不能override 父类的方法, 可以有条件 overload;输入参数更宽松, 返回参数 更严格;LSP

3. 依赖倒置原则:面向接口,所有的 底层类和高层类(具体业务逻辑)都依赖上层的 接口定义;DIP

4. 最小接口原则: 接口或抽象类的 定义 要 包含尽量少的 方法声明;ISP

5. 迪米特原则:对依赖的对象了解尽量少的信息;通过中间层的 对象了解;

6. 组合/聚合原则:多用组合,少用继承;因为 组合可用更灵活的“复用”对象所属类的 代码,并且可用在runtime(运行时)动态改变对象的行为; 使用继承则子类全盘接受 父类的 方法实现(遵守里氏替换原则),并且无法运行时动态改变方法实现;所以 需要 “封装变化”,再 组合之; strategy 模式 很好的体现了这个原则;

7. 开闭原则:软件代码(类级别)对修改关闭,对扩展开放;这个是理论上的;OCP

实际的设计/开发过程应该是: 先做领域模型,理解业务上要做什么事情,期望拿到什么价值;这个阶段切忌思考 如何抽象接口/类,如何设计类;  第二 考虑 设计层面有哪些需要抽象,有哪些依赖,具体方法接口如何设计;  最后才考虑 用哪种模式,那个包来实现;

相关文章

  • 面向对象 设计原则 & 松耦合设计 & 设计模式

    0 OO 设计原则 & 松耦合设计 & 设计模式 1 23 种 设计模式 Key Points 2 Fact...

  • OO设计原则 和设计模式

    所谓的 OO设计原则的目的 是 1. Extensibility;2. Flexibility;3. Plugga...

  • python面试学习路线-10.设计模式

    10.设计模式 1.精通设计模式 1.六大设计原则解析, OO的五大原则,具现化后就是具体的设计模式 单一职责原则...

  • 设计模式——OO原则

    封闭变化 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 对扩展开放,对修改关...

  • 设计工具箱.1初识

    本文是针对《Head First 设计模式》的阅读笔记。 OO基础 封装 继承 多态 抽象 OO原则 封装变化 多...

  • 设计模式开篇

    设计模式与原则 设计模式原则是为了提高代码的可维护性,可复用性和可扩展性,设计模式是设计模式原则的具体体现。 设计...

  • 设计模式

    1 软件设计原则和设计模式概览 1.1 面向对象设计原则 1.2 GOF设计模式 1.3 C嵌入式编程设计模式 ...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • 聊聊设计模式原则(三) -- 依赖倒置原则

    目录 聊聊设计模式原则(一) -- 单一职责原则 聊聊设计模式原则(二) -- 接口隔离原则 聊聊设计模式原则(三...

  • 聊聊设计模式原则(二) -- 接口隔离原则

    目录 聊聊设计模式原则(一) -- 单一职责原则 聊聊设计模式原则(二) -- 接口隔离原则 聊聊设计模式原则(三...

网友评论

    本文标题:OO设计原则 和设计模式

    本文链接:https://www.haomeiwen.com/subject/wxjfkxtx.html