美文网首页
设计原则学习笔记

设计原则学习笔记

作者: 回调的幸福时光 | 来源:发表于2019-06-12 20:13 被阅读0次
常用设计原则

不常用的:里式置换原则、依赖倒置原则、接口独立原则。

一、单一职责 (SRP)

单一职责原则的职责被定义为“引起变化的原因”。

原则体现为:一个对象(方法)只做一件事情。

应用举例

代理模式、迭代器模式、单例模式、装饰者模式

何时应该分离职责
  • 如果两个职责总是同时变化,那就不必分离。
  • 在方便性和稳定性之间要有一些取舍。
优缺点

优点:
降低了单个类或者对象的复杂度,有利于代码复用。

缺点:

  • 增加编写代码的复杂度
  • 颗粒之间相互联系的难度

二、最少知识原则 (LKP)

最少知识原则:一个软件实体应当尽可能少地与其他实体发生相互作用。

原则体现为:尽量减少对象之间的联系。

应用举例
  • 中介者模式、外观模式
  • 封装
优缺点

优点:减少了对象之间的依赖
缺点: 可能增加一些庞大到难以维护的第三者对象。

三、开放-封闭原则 (OCP)

定义:软件实体应该是可以扩展的,但是不可修改。

找出变化的地方,把变化封装起来,可以把系统中稳定不变的部分和容易变化的部分隔离开。

应用举例

装饰者模式、发布-订阅模式、模板方法模式、策略模式、代理模式、职责链模式

相对性
  • 找出最容易发生变化的地方,然后构造抽象来封闭这些变化。
  • 在不可避免发生修改的时候,尽量修改那些相对容易修改的地方。

相关文章

  • 设计模式学习笔记,简述概要

    设计模式 学习简述 设计模式简要学习笔记 原则 口诀:“单开迪里接依” 单一职责 开闭原则(扩展开放、修改封闭) ...

  • Memento 备忘录模式

    设计原则学习笔记 设计模式学习笔记 作用 使对象可以保存并恢复到某一状态。 类图 Java实现 Android源...

  • Singleton 单例模式

    设计原则学习笔记 设计模式学习笔记 作用 创建全局唯一的实例,提供给全局任意的地方使用。 类图 JAVA实现 单...

  • Interator 迭代器模式

    设计原则学习笔记 设计模式学习笔记 作用 针对数据集合,提供一种(若干)忽略集合内部细节以及访问细节的访问方式,...

  • Proxy 代理模式

    设计原则学习笔记 设计模式学习笔记 作用 为对象提供增强作用 类图 图为静态代理。另有动态代理模式,由于类图不具...

  • Interpreter 解释器模式

    设计原则学习笔记 设计模式学习笔记 作用 将表达式转化为操作,并且将其拆成最小的单元 类图 Java实现 上面的...

  • Facade 外观模式

    设计原则学习笔记 设计模式学习笔记 作用 管理,封装若干子系统,使其作为一个整体系统对外提供操作。 类图 组合模...

  • Abstract Factory 抽象工厂模式

    设计原则学习笔记 设计模式学习笔记 作用 管理多个系列的产品之间的关系(非必要) 兼具工厂方法的作用 对于作用1...

  • Bridge 桥接模式

    设计原则学习笔记 设计模式学习笔记 作用 以持有的方式实现接口,避免继承太多导致扩展性变差,同时实现代码的复用。...

  • Strategy 策略模式

    设计原则学习笔记 设计模式学习笔记 作用 将算法封装起来,使对象可以在不同情况,使用不同算法。 类图 Java实...

网友评论

      本文标题:设计原则学习笔记

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