
设计模式
Korbin Luo
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
定义:提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。 简单工厂模式由一个Api、多个Impl、一个Factory和一个Client组成。 Api:定义客户所需要的功能接口; Impl:具体实现Api的实现类,可能会有多个; Factory:工厂,原创 2014-03-03 22:33:29 · 850 阅读 · 0 评论 -
单例模式
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Singleton:负责创建Singleton类自己的唯一实例,并提供一个getInstance的方法,让外部来访问这个类的唯一实例。 懒汉式:/*** 懒汉式单例实现示例*/public class Singleton { private stat原创 2014-03-04 22:20:21 · 934 阅读 · 0 评论 -
工厂方法模式
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使用一个类的实例化延迟到其子类。 Product:定义工厂方法所创建的对象的接口,也就是实际需要使用的对象的接口。 ConcreteProduct:具体的Product接口的实现对象。 Creator:创建器,声明工厂方法,工厂方法通常会返回一个Prod原创 2014-03-05 22:50:01 · 1004 阅读 · 0 评论 -
抽象工厂模式
定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 AbstractFactory:抽象工厂,定义创建一系列产品对象的操作接口。 ConcreteFactory:具体的工厂,实现抽象工厂定义的方法,具体实现一系列产品对象的创建。 AbstractProduct:定义一类产品对象的接口。 Concrete原创 2014-03-05 23:12:08 · 882 阅读 · 0 评论 -
外观模式
定义:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式中有一个Facade和多个模块。 Facade:定义子系统的多个模块对外的高层接口,通常需要调用内部多个模块,从而把客户的请求代理给适当的子系统对象。 模块:接受Facade对象的委派,真正实现功能,各个模块之间可能有原创 2014-03-03 22:52:48 · 1005 阅读 · 0 评论 -
生成器模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 Builder:生成器接口,定义创建一个Product对象所需的各个部件的操作。 ConcreteBuilder:具体的生成器实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法。 Direc原创 2014-03-06 23:22:08 · 1206 阅读 · 0 评论 -
适配器模式
定义:将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器中存在以下模块: Client:客户端,调用自己需要的领域的接口Target; Target:定义客户端需要的跟特定领域相关的接口; Adapter:已经存在的接口,通常能满足客户端的功能需求,但接原创 2014-03-03 23:05:51 · 792 阅读 · 0 评论 -
工厂模式-简单工厂模式-合并所有角色
2.2.4 合并所有角色 (1) 具体产品类,合并了抽象产品角色及工厂角色/** * @author Geloin */package com.geloin.pattern.factory.simple.mergeall;/** * 具体产品类,合并了抽象产品角色及工厂角色 * * @author Geloin * */public class Co原创 2013-05-08 16:23:33 · 1203 阅读 · 0 评论 -
工厂模式-简单工厂模式-标准工厂模式
2 工厂模式 2.1 工厂模式的几种形态 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类,工厂模式有以下几种形态: (1) 简单工厂模式:又称静态工厂方法模式。 (2) 工厂方法模式:又称多态性工厂模式或虚拟构造子模式。 (3) 抽象工厂原创 2013-05-08 16:02:49 · 1143 阅读 · 0 评论 -
工厂模式-简单工厂模式-省略抽象产品类
2.2.2 省略抽象产品类 如果系统仅有一个具体产品角色的话,那么就可以省略掉抽象产品角色。省略掉投产产品类后的简略类图如下所示: 而此时类图结构如下所示: (1) 具体产品类/** * @author Geloin */package com.geloin.pattern.factory.simple.nop原创 2013-05-08 16:09:50 · 933 阅读 · 0 评论 -
设计模式基本概念
1 概念 1.1 “开-闭”原则 一个软件实体应当对扩展开发,对修改关闭。 1.2 里氏代换原则 基类出现的地方,子类一定可以出现,反之则不然。 1.3 依赖倒转原则 要依赖于抽象,不要依赖于具体。 1.4 接口隔离原则原创 2013-05-08 14:13:18 · 1445 阅读 · 0 评论 -
工厂模式-简单工厂模式-合并工厂角色与抽象产品角色
2.2.3 工厂角色与抽象产品角色合并 (1) 具体产品角色/** * @author Geloin */package com.geloin.pattern.factory.simple.mergefactoryandcreator;/** * 具体产品角色 * * @author Geloin * */public class Concret原创 2013-05-08 16:17:47 · 1058 阅读 · 0 评论 -
Java代理模式
一、静态代理抽象主题角色:package com.roger.test.proxy;public interface Subject { void request(String name);}真实主题角色:package com.roger.test.proxy;public class SubjectImpl implements Subject ...原创 2019-02-13 16:09:48 · 233 阅读 · 0 评论