架构设计
桥接设计模式
意图 将抽象与其实现分离,以便两者可以独立变化。 在继承层次中发布接口,并将实现埋在自己的继承层次中。 超越封装,到绝缘 问题 通过使用抽象基类的子类化来提供替代实现,已经发生了“…
享元设计模式
意图 使用共享有效地支持大量细粒度对象。 用轻量级小工具替换重量级小部件的 Motif GUI 策略。 问题 将对象设计到系统“粒度”的最低级别提供了最佳的灵活性,但在性能和内…
命令设计模式
意图 将请求封装为对象,从而使您可以对具有不同请求、队列或日志请求的客户端进行参数化,并支持可撤消的操作。 将“在对象上调用方法”提升为完整对象状态 面向对象的回调 问题 需要在不…
单例设计模式
意图 确保一个类只有一个实例,并提供一个全局访问点。 封装的“即时初始化”或“首次使用初始化”。 问题 应用程序需要一个,而且只有一个,对象的实例。此外,延迟初始化和全局访问也是必…
对象池设计模式
意图 对象池可以显着提升性能;在初始化类实例的成本高、类的实例化率高、任何一次使用的实例化数量低的情况下,它最有效。 问题 对象池(也称为资源池)用于管理对象缓存。有权访问对象池的…