常见的10种设计模式.docx
《常见的10种设计模式.docx》由会员分享,可在线阅读,更多相关《常见的10种设计模式.docx(11页珍藏版)》请在优知文库上搜索。
1、设计模式1简洁工厂模式简洁工厂模式属于类的创建里模式,又叫做静态工厂方法模式。通过特地定义一个类来负贡创建其他类的实例,被创建的实例通常都具有共同的父类.工厂(Creator)角色简洁工厂模式的核心,它负员实现创建全部实例的内部逻辑“工厂类可以被外界干脆调用,创建所需的产品对象。抽象(PrOdUet)角色简洁工厂模式所创建的全部时象的父类,它负责描述全部实例所共有的公共接口。详例产品(ConereteProduct)角色简洁工厂模式所创建的详细实例对象优缺点在这个模式中,工厂类是整个模式的关键所在.它包含必要的推断逻辑,能够依据外界给定的信息,踊定原委应当创建哪个详细类的对象。用户在运用时可以
2、干脆依据工厂类去创建所需的实例,而无需了解这些对象是如何创建以及如何组织的。有利于整个软件体系结构的优化。简洁工厂模式的缺点也正体现在其工厂类上,由于工厂类集中/全部实例的创走逻辑,所以“高内聚”方面做的并不好。另外,当系统中的详细产品类不断增多时,可能会出现要求工厂类也要做相应的修改,扩展性并不很好。2工厂方法模式工厂方法模式同样属于类的创建里模式又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中.核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责详细工厂子类必需实现的接口,这样进步抽象化的好处是使得工厂方法模式可以使系统
3、在不修改详细工厂角色的状况下引进新的产品。抽象工厂(Creator)角色:工厂方法模式的核心,任何工厂类都必需实现这个接口。详铀工厂(COnCreteCreator)角色:抽象工厂的一个实现,负贵实例化产品对象。抽象(ProdUCt)角色:工厂方法模式所创建的全部对象的父类,它负责描述全部实例所共有的公共接口。详细产品(ConCreteProduct)角色:工厂方法模式所创建的详细实例对象工厂方法模式与工厂模式的比较:工厂方法模式与简洁工厂模式在结构上的不同不是很明显。工厂方法类的核心是一个抽象工厂类,而荷洁工厂模式把核心放在一个详细类上。工厂方法模式之所以有一个别名叫多态性工厂模式是因为详细
4、工厂类都有共同的接口,或者有共同的抽象父类。当系统扩展须要添加新的产品对象时,仅仅须要添加一个详细对象以及一个详细工厂对象,原有工厂对象不须要进行任何修改,也不须要修改客户端,很好的符合了“开放一封闭”原则。而简洁工厂模式在添加新产品对象后不得不修改工厂方法,扩展性不好。工厂方法模式退化后可以演化成简洁工厂模式.3抽象工厂模式抽象工厂模式是全部形态的工厂模式中最为抽象和最其一般性的。抽型工厂模式可以向客户湍供应一个接口,使得客户端在不必指定产品的详细类型的状况下,能够创建多个产品族的产品对象。产品欣产品第级结构抽象工厂(CreatOr)角色抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂
5、类都必需实现这个接口。详细工厂(ConcreteCreator)角色详细工厂类是抽象工厂的一个实现,负货实例化某个产品族中的产品对象。抽象(PrOdUCt)角色抽象模式所创建的全部对象的父类,它负责描述全部实例所共有的公共接口。详细产品(COnereteProduct)角色抽象模式所创建的详细实例对象总结:抽象工厂中方法对应产品结构,详细工厂对应产品族。4单例模式单例模式是一种对象创建型模式,运用堆例模式,可以保证为一个类只生.成唯一的实例对象“也就是说,在整个程序空间中,该类只存在一个实例对以。其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时供应能对该实例加以访问的全局访问
6、方法。为什么要运用单例模式呢?在应用系统开发中,我们经常有以下需求:在多个线程之间,比如8erv1.et环境,共享同一个资源或者操作同一个对象-在整个程序空间运用全局变量,共享资源-大规模系统中,为了性能的考虑,须要节的对象的创建时间等等.因为Sing1.eIon模式可以保证为一个类只生成唯一的实例对象,所以这些状况,SingIetOn模式就派上用场了。单例模式实现1 .饿汉式。2 .懒汉式。3 .双全检杳。5 .代理模式PrOXy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象供应一种代理(PrOXy)以限制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接
7、口的类,客户端必需通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特殊的处理。代理模式的结构代理模式的角色和职责subject(抽象主题角色):真实主题与代理主题的共同接口Rea1.Subject(真实主JR角色):定义了代理角色所代表的真实对象。Proxy(代理主题角色):含有对真实主题角色的引用,代理角色通常在将客户端调用传递给真是主题对象之前或者之后执行某些獴作,而不是单纯返回真实的对象。动态代理1) InvocationHandIer接口2) invoke方法3) Proxy.newProxnstance();6 .吩咐模式Command模式也叫吩咐模式,是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常见 10 设计 模式
