摘要:桥接模式用于将有多个维度变化的产品中的变化维度抽取出来单独处理,用GOF的定义是:将抽象部分与实现部分分离,使它们都可以独立的变化。桥接模式概述桥接模式的基本定义里面包括了四种角色(假设产品只具有2个维度的变化Fa和Fb):1. 抽象产品类角色Abstraction,该类是产品的基类,它直接负责产品的架构定义和接口定义并定义维度变化方法Fa,它内部包含了一个接口类Implementor2. 变化维度实现接口类Implementor,该接口是抽取的A中某种需要经常变化的维度或者说方法而产生的,它定义了变化的维度所需要实现的方法Fb3. 具体产品类角色RefinedAbstraction,该类继承
阅读全文
随笔分类 - 专题学习
系统的学习和理解某些技术
摘要:适配器模式适用于在已有固定的不能更改或者很难更改现有接口的情况下,对现有接口进行再次封装以适应新的需求的场合。该种模式在类库迁移方面用的很多。 适配器模式概述 适配器模式分为3个角色,用户需要的接口IA,原有类库提供服务的类B,适配器Adapter,适配器模式有两种实现方式: 1. 类实现方式:适配器Adapter继承服务类B并且实现接口IA,在Adapter类实现IA的接口方法中调用类B的服...
阅读全文
摘要:单例模式的意图是为了保持有且只有一个实体,并且提供一个全局的访问点。 为什么要使用单例模式 如果某个类在整个程序运行过程中只能有一个实例,比如创建多个实例会造成不必要的系统开销,或者会造成程序状态的不易管理和维护等等。 单例模式概述 单例模式既然定义类只能有一个实例,那么就必须将类的构造函数私有化,通过使用类方法的方法获取该类的唯一实例。下面是伪代码(这里不讨论线程安全问题):class ...
阅读全文
摘要:原型模式用于复制对象,抽象产品类定义复制自身的方法,实体产品类继承抽象产品类并实际实现复制方法,在客户使用时直接调用该复制方法即可。 为什么要使用这个模式 当有产品经常需要进行复制,而且该产品的复制方法比较复杂而且很可能非常多变,更加可能的是客户需要使用许多种该类产品,这种情况下就非常适合用原型模式。 原型模式概述 原型模式核心包括2个角色: 1. 抽象产品类IC(接口IA),该类定义了复...
阅读全文
摘要:简单工厂模式也可以成为静态工厂模式,它的目的是根据提供给它的数据,返回可能的许多个具有相同基类的类中的某个类的实例,方法签名返回的是基类的实例。为什么要使用这个模式 当需要使用统一的接口来根据不同的输入返回相同基类的不同类的实例时,使用静态工厂。静态工厂模式是抽象工厂的一个简单应用,抽象工厂模式定义抽象类或接口来抽象接口方法,而简单工厂则使用一个方法来实现根据参数返回相应应用类。 通俗的来说,简单工厂模式就是一堆if语句的整合物,比如有类B、C、D都继承A,经常需要根据某个参数来获取BCD的实例,如果不用模式,那么就是如下代码 A a; if(...) a = new B(); else if
阅读全文
摘要:建造者模式可以将一个产品的内部实现和它的构造过程分割开来,从而可以将复杂对象的构建过程外部简单化的目的。 为什么要用这个模式 有些产品结构比较复杂,构成产品的零件有许多个,这许多个零件又没有什么关系,并且这些零件的组合是有必须的顺序的,比如说组装汽车(我不懂如何组装汽车哈,瞎说举例而已):要先制作好底座,然后在底座上安装发动机,安装电路油路,安装座椅,然后安装车皮,安装轮子,最后安装车门。...
阅读全文
摘要:抽象工厂的概念实现事实上就是接口和抽象类,用过Java、C++的人都了解这个概念,这里不多说了。 为什么要用这个模式 可以将具体的产品抽象化,使得具体的业务逻辑和产品概念分离。比如说写一个水果应用模块吧(有多种水果,比如[苹果]、[香蕉]、[桔子]),所有的水果都有2个方法,A()和B(),[苹果]、[香蕉]、[桔子]的这2个方法实现是不同的,甚至有可能是不同的程序员写的,对外部应用来讲,只需要传入一个水果对象并调用A和B两个方法,并不关心我传入的对象是什么水果,这种情况下,使用抽象工厂模式就可以对代码进行解耦,即定义一个接口或者抽象类[水果],[苹果]、[香蕉]、[桔子]类都实现这个接口或.
阅读全文
摘要:写了几年的程序了,对设计模式的了解一直不是深刻,没写下来的东西总是记忆不清楚,所以,总算是打算静下心来把我对设计模式的理解写下来,如果有不对的地方,还请看到的同志们多多指教。创建型模式1. 抽象工厂(Abstract Factory) -- 接口或抽象类2. 建造者(Builder) -- 生产有复杂结构或多个组成部件的产品 3. 简单工厂(Simple Factory) -- 系列产品统一出口4. 工厂方法(Factory Method) -- 生产系列产品5. 原型(Prototype) -- 克隆/复制6. 单例(Singleton) -- 全局唯一实例构造型模式1. 适配器(Adapt
阅读全文

浙公网安备 33010602011771号