大话设计模式:23.命令模式 命令模式:将一个请求封装为一个对象,从而使用户可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支
大话设计模式:22.合成/聚合复用原则 & 桥接模式 合成/聚合复用原则(CARP):尽量使用合成/聚合,尽量不要使用类继承(因为继承是一种强耦合
大话设计模式:21.单例模式 单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 TL;DR:通过私有化构造方法和私有变量,让类自身
大话设计模式:20.迭代器模式 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示 TL;DR:C++、Jav
大话设计模式:19.组合模式 组合模式:将对象组合成树形结构以表示’部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致
大话设计模式:18.备忘录模式 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢
大话设计模式:17.适配器模式 适配器模式:将一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作
大话设计模式:16.状态模式 状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类 TL;DR:当控制一个对象状态
大话设计模式:15.抽象工厂模式 抽象工厂模式:提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 TL;DR:工厂方法模式的
大话设计模式:14.观察者模式 观察者模式:定义了一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知