![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
design_pattern
ailinyingai
DevOps 搬砖人 干饭人
展开
-
理论八 迪米特法则 LOD
高内聚 低耦合 有效地提高代码的可读性和可维护性 缩小功能改动导致的代码改动范围 功能相近的功能应该放到同一个类中 类与类之间的依赖关系简单清晰 最小知识原则 每个模块只应该了解那些与它有关系密切的模块的有限知识 或者说 每个模块只和自己的朋友说话 不和陌生人说话 有依赖关系的类之间 尽量只依赖必要的接口 ...原创 2019-12-23 10:04:28 · 124 阅读 · 0 评论 -
理论七
减少代码耦合 满足单一职责原则 模块化 业务与非业务逻辑分离 通用代码下沉 继承多态抽象封装 应用模板等设计模式 第一次编写代码的时候 不考虑复用性 第二次 进行重构使其复用 rule of three dry 实现逻辑重复 功能语义重复 代码执行重复 ...原创 2019-12-23 09:58:04 · 110 阅读 · 0 评论 -
理论六
kiss 原则 yagni 原则 尽量保持简单 不要使用同事可能不懂的技术来实现代码 不要重复造轮子 不要过度优化 你不会需要它 不要做过度设计原创 2019-12-18 09:15:21 · 109 阅读 · 0 评论 -
控制反转 依赖反转 依赖注入
控制反转 是一个比较笼统的设计思想 控制指的是对程序执行流程的控制 反转指的是在没有使用框架之前程序员自己控制整个程序的执行 依赖注入 不通过new的方式在内部创建依赖类的对象 而是将依赖的类对象在外部创建好之后 通过构造函数函数参数等方式传递(或注入)給来使用 依赖注入框架 通过依赖注入框架提供的扩展点 简单配置一下所有需要的类及其类与类之间的依赖关系 实现由框架来自动创建对象管理对...原创 2019-12-16 14:32:18 · 101 阅读 · 0 评论 -
接口隔离原则
接口理解为一组接口集合 可以是微服务的接口也可以是某个类的接口 如果部分接口只被部分调用者使用 需要单独将这部分接口隔离出来 单独給这部分调用者使用 而不强迫其他调用者也依赖这部分不会被用到的接口 单个api接口 部分调用者只需要函数中的部分功能 需要将函数拆分为粒度更细的多个函数 让调用者只依赖它需要的那个细粒度函数 理解为oop中的接口 也可以理解为面向对象编程语言中的接口语法 接口的设...原创 2019-12-16 14:23:30 · 70 阅读 · 0 评论 -
里氏替换
子类对象能够替换程序中父类对象出现的任何地方 并且保证原来程序的逻辑行为不变以及正确性不被破坏 指导继承关系中子类应该如何设计 子类的设计要保证在替换父类的时候 不改变原有程序的逻辑及不破坏原有程序的正确性 多态是特性 能力 里氏替换是原则 约定 ...翻译 2019-12-11 16:16:20 · 100 阅读 · 0 评论 -
开闭原则
扩展性是代码质量最重要的衡量标准之一 对扩展开放 修改关闭 添加一个新的功能 应该是在代码基础上扩展代码 而非修改已有代码的方式来完成 这段代码未来可能有哪些需求变更 如何设计代码结构 事先留好扩展点 以便在将来需求变更的时候在不改变代码整体结构 做到最小代码改动的情况下 将新的代码灵活地插入到扩展点上 多态 依赖注入 基于接口而非实现编程 大部分的设计模式(装饰/策略/模板/职责链/状态) ...原创 2019-12-11 16:11:05 · 59 阅读 · 0 评论 -
单一职责原则
一个类或者模块只负责完成一个职责或者功能 持续重构 过多进行拆分 依赖类过多 私有方法过多 难以起名字 表示职责定义不够清晰 类中大量的方法都是集中操作类中的某几个属性 ...原创 2019-12-11 16:03:17 · 208 阅读 · 0 评论