
结构型:桥接模式
概述 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 ...
概述 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 ...
概述 一个组织有很多子组织,而无论子组织是单独一个部门或是一个分组织。该组织都希望把它们当成一样的子组织来管理。 比如公司总部有多个部分,该公司还有一些分公司,当总部有通知需要下达时,将分公司视为部门一样,一起通知。...
概述 指定要使用原型实例创建的对象的种类,并通过复制此原型来创建新对象。模式具有创造目的,并处理动态的对象关系。该模式隐藏了从客户端创建新实例的复杂性。 定义 通过给出一个原型对象来指明所要创建对象的类型,然后克隆该...
概述 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有...
设计模式 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案 。 设计模式-分类 创建型 工厂方法模式 Code 简单工厂模式是通过给工厂传入标志参数,来创建对应标识表示的商品类。 工厂方法模式是工厂类持...
总原则:开闭原则 对扩展开放,对修改关闭 在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。 实现“开-闭”原则的关键步骤是抽象化。 一 单一原则 不要存在多于一个导致类变更的...
概念 简单工厂模式 简单工厂模式专门创建一个类来负责创建其他类得实例,被创建的实例通常都具有共同的父类。 它又称为静态工厂模式。 其实质是,由一个工厂类根据传入的参数,动态决定应该创建哪个具体类的实例。 工厂方法模式...
引入 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象...
概述 当用户对象之间存在很强的关联性时,会有以下问题: 系统结构负责 对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。 对象的可重用性差 由于一个对象和其...
概述 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。...