设计模式
文章平均质量分 54
dpwangyanli
这个作者很懒,什么都没留下…
展开
-
单例模式(SINGLETON)
记得有人对单例模式有个非常形象的比喻,你有六个老婆,回到家里只要老婆喊“老公",那么都是叫你。你就是这个家里的singleTon。单例是最简单的一个设计模式,就是确保程序中有且只有一个实例即可。 package { public class Singleton { static private var _instance:Singleton; public func...原创 2012-11-22 17:36:29 · 86 阅读 · 0 评论 -
策略模式(Strategy Pattern)
抽象出来做一个基类,实际的算法继承次基类分别实现。在使用时,可以随意使用这些真正的算法实例。UML类图示例:这个模式涉及到三个角色: ● 环境(Context)角色:持有一个Strategy的引用。 ● 抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。 ● 具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。缺点:客户端必须知道所有的策略类,并自行决定使用哪一个策略类。这就意味原创 2013-08-16 17:34:04 · 63 阅读 · 0 评论 -
代理模式 & 装饰器模式 (Proxy & Decorator)
原创 2013-08-01 13:58:21 · 187 阅读 · 0 评论 -
简单工厂& 工厂方法&抽象工厂模式
原创 2012-12-18 17:00:57 · 56 阅读 · 0 评论 -
单例模式(SINGLETON)
原创 2012-11-22 17:36:29 · 65 阅读 · 0 评论 -
门面模式(Facade pattern)
门面模式个人觉得这个词起得非常形象化。门面嘛也就是一个窗口,对外隐藏子系统的操作,让你可以只能一个窗口打交道就成了。打个比方,你把饭喂到肚子里,那么多负责的步骤帮你消化分解排泄你都不用操心了,对外接口就一张嘴,给我嘴打打交道就成了,多省事。要不然你吃完饭还要开动胃帮你消化,开动肠子帮你吸收,开动xx帮你拉拉,那你一天还用不用干活了?神马?这个跟代理模式有点像?好吧,代理模式也是隐藏实现...2013-08-18 22:10:15 · 93 阅读 · 0 评论 -
策略模式(Strategy Pattern)
策略模式就是定义了算法家族,分别封装起来,让它们之间可以互相替换。 此模式让算法的变化,不会影响到使用算法的客户。也就是把一系列的算法抽象出来做一个基类,实际的算法继承次基类分别实现。在使用时,可以随意使用这些真正的算法实例。UML类图示例:这个模式涉及到三个角色: ● 环境(Context)角色:持有一个Strategy的引用。 ● 抽象策略(Strategy)角色...原创 2013-08-16 17:34:04 · 67 阅读 · 0 评论 -
代理模式 & 装饰器模式 (Proxy & Decorator)
代理模式和装饰器模式虽然概念上区别很大,但是在实现时却又比较相似。代理模式从概念上讲,就是我想访问一个服务,但是我却不需要知道真正给我提供服务的对象,我只要访问能提供给我服务的代理对象就可以了。装饰器模式从概念上讲,就是要装饰一个对象,只要把这个对象通过装饰器的构造函数传入,装饰器会做一些额外的装饰。因为装饰器也实现了对象实现的接口,所以就可以像操作对象一样操作装饰器。代理模式的类...原创 2013-08-01 13:58:21 · 353 阅读 · 0 评论 -
简单工厂& 工厂方法&抽象工厂模式
仅仅从字面意思上看,工厂模式就是我不关心产品的生产细节,就要告诉你我要什么产品,工厂就可以帮我生产出来。那么这些模式中又有什么不同,都在什么场合下用呢?总结如下:简单工厂:就是提供一个工厂,里面有N多对外的接口,提供不同的产品。优点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅"消费"产品。简单工厂模式通过这种做...原创 2012-12-18 17:00:57 · 67 阅读 · 0 评论 -
门面模式(Facade pattern)
2013-08-18 22:10:15 · 57 阅读 · 0 评论