设计模式
文章平均质量分 92
就爱吃西瓜
技术控 吃货 小清新 努力蜕变成为CODER 中
展开
-
设计模式(一) 抽象工厂(Abstract Factory)
1.定义 抽象工厂是一种常用的对象创建型设计模式。抽象工厂模式提供了一种方式,可以将一组具有统一主题的单独工厂封装起来,它提供一个创建一系列相关或相互依赖对象的接口,而无需制定它们具体的类。 2.结构 抽象工厂的结构图如下所示: AbstractFactory : 声明一个创建抽象产品对象的操作接口 ConcreteFactory : 实现创建具体产品对象的操作 AbstractP原创 2014-12-20 14:28:19 · 1319 阅读 · 0 评论 -
设计模式(二) 工厂方法(FactoryMethod)
1.定义 工厂方法是一种对象创建型的设计模式。上一节中谈到的抽象工厂经常使用工厂方法实现。与其他创建型模式一样,工厂方法解决的是在不指定对象具体类型的情况下创建对象的问题。它仅定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类实例化延迟到其子类。 2.结构 Product : 定义工厂方法创建对象的接口 ConcreteProduct : 实现原创 2014-12-20 16:25:04 · 830 阅读 · 0 评论 -
设计模式(五) 单例模式(Singleton)
1.定义 单例模式是一种创建型的设计模式。单例模式意在保证一个类仅有一个实例,并且提供一个全局的访问点。 2.适用性 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时 一个国家只有一个主席/总统,一个人只有一个名字/身份证号,这些都是单例的例子。稍微实际点的例子就是,在某个服务器程序中,原创 2015-01-25 13:39:26 · 1065 阅读 · 0 评论 -
设计模式(六) 适配器模式(Adapter)
开发当中我们经常遇到这样的情况:有一些功能自己开发需要花费巨大的成本,但是现存的可供使用的第三方库还不太成熟,我们可以暂时使用这些库。但是,一旦需要修改依赖库的时候,源码也需要大规模地修改,有没有什么方法能够最大限度地降低修改的幅度呢?这时候我们可以考虑使用adapter模式。 一、定义 适配器模式是一种结构型模式。它的目的是使一个类的接口转换成客户希望的另一种接口,适配器模式使得原本原创 2015-06-16 19:34:33 · 1112 阅读 · 0 评论 -
设计模式(三) 生成器(Builder)
1.定义 生成器是一种对象创建型的模式。生成器将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 2.适用性 当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时当构造过程必须允许被构造的对象又不同的表示时 3.结构 Builder: 为创建一个Product对象的各个部件指定抽象接口。(工厂方法是为整个对象) ConcreteBuil原创 2014-12-31 16:04:17 · 1097 阅读 · 0 评论 -
设计模式(四) 原型模式(Prototype)
1.定义 原型模式属于一种创建型模式,与其他创建型模式不同,原型模式不是直接构造对象,而是通过复制一个已经存在的实例返回新的实例。 2.适用性 为何要拷贝而不直接生成?我的理解是有些时候直接构造实例花费比较大,比如在构造对象的时候需要做大量的数据库查询,这样如果构造许多类似的对象还重复地查询数据库则开销很大,很没效率。直接拷贝现有的实例,在需要情况下做一些小的修改会显得高效许多。原创 2015-01-20 23:07:28 · 1111 阅读 · 0 评论