设计原则

最小知识原则 - 只和你的密友交流

尽量减少对象之间的交互,只与必要的类交互。

如何遵循最小知识原则,我们只能调用属于以下范围的方法。

  • 调用该对象本身。
  • 被当作方法参数而传递进来的对象。
  • 被调用的方法创建或实例化的对象。
  • 对象的任何对象。

只将方法调用保持在界限内。

设计模式

命令模式 - 将对象的请求和操作函数封装成命令对象,来做一些通用的操作,封装成对象后就可以轻易的将命令进行异步、延迟、排队执行命令、撤销重做命令、存储命令等操作了。
适配器模式 - 将一个类的接口转换为客户期望的另一个接口,让原本不兼容的类可以变得进行交互。
外观模式 - 提供一个统一的接口,来访问和操作子系统的行为,外观是定义一个高层接口,将低层系统的复杂性封装起来,方便高层使用。同样进行了一定的解耦,使子系统变化时尽量地减少上层修改。

命令模式

image.png
在大部分编程语言中,函数没法儿作为参数传递给其他函数,也没法儿赋值给变量。所以借助命令模式可以完成很多想象不到的事情。

适配器模式

image.png
适配器模式的用途

  • 高低版本接口适配
  • 隔离第三方类库、第三方依赖
  • 统一功能相似类的行为
  • 适配不同的数据格式

外观模式

image.png

我们可以创建多个不同侧重性的外观。
外观模式主要解决的是系统易用性的问题。