动机: 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化… 继续阅读 (五)创建型—原型模式(Prototype)
每日归档: 2020年7月16日
(六)结构型—适配器模式(Adapter Pattern)
适配: 即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。 动机: 在软件系统中,由于应用环境的… 继续阅读 (六)结构型—适配器模式(Adapter Pattern)
(七)结构型—桥接模式(Bridge Pattern)
动机: 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如… 继续阅读 (七)结构型—桥接模式(Bridge Pattern)
(八)结构型—装饰模式(Decorator Pattern)
问题:子类复子类,子类何其多 假如我们需要为游戏中开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合… 继续阅读 (八)结构型—装饰模式(Decorator Pattern)
(九)结构型—组合模式(Composite Pattern)
动机: 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序… 继续阅读 (九)结构型—组合模式(Composite Pattern)
(十)结构型—外观模式(Facade Pattern)
动机: 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变… 继续阅读 (十)结构型—外观模式(Facade Pattern)
(十一)结构型—享元模式(Flyweight Pattern)
面向对象的代价: 面向对象很好地解决了系统抽象性的问题,同时在大多数情况下,也不会损及系统的性能。但是,在某些… 继续阅读 (十一)结构型—享元模式(Flyweight Pattern)
(十二)结构型—代理模式(Proxy Pattern)
直接与间接: 人们对复杂的软件系统常有一种处理手法,即增加一层间接层,从而对系统获得一种更为灵活、满足特定需求… 继续阅读 (十二)结构型—代理模式(Proxy Pattern)
(十三)行为型—模板方法(Template Method)
无处不在的Template Method: 如果你只想掌握一种设计模式,那么它就是Template… 继续阅读 (十三)行为型—模板方法(Template Method)
(十四)行为型—命令模式(Command Pattern)
耦合与变化: 耦合是软件不能抵御变化灾难的根本性原因。不仅实体对象与实体对象之间存在耦合关系,实体对象与行为操… 继续阅读 (十四)行为型—命令模式(Command Pattern)