随笔分类 -  设计模式

摘要:工厂方法模式工厂方法模式(Factory Method,别名虚拟构造):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。工厂模式的结构中包括4种角色: 1.抽象产品(Product):抽象产品是抽象类或接口,负责定义具体产品的规范,即具体产品必须实现的方法。 2.具体产品(ConcreteProduct):如果Product是一个抽象类,那么具体产品是Product的子类;如果Product是一个接口,那么具体产品是实现Product接口的类。具体产品决定了产品在客户端中的行为。 3.构造者(Creator):构造者是一个接口或抽象类。构造... 阅读全文
posted @ 2014-04-02 20:04 我是大嘴猴 阅读(3087) 评论(0) 推荐(0)
摘要:适配器模式适配器模式(别名:包装器):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的结构中包括3种角色: 1.目标(Target):目标是客户所期待(使用)的接口。目标可以是具体的或抽象的类,也可以是接口。 2.被适配者(Adaptee):被适配者是一个已经存在的类或接口(或抽象类),这个类或接口(或抽象类)需要适配。 3.适配器(Adapter):适配器是一个类,该类实现了目标接口并包含被适配者的引用,通过包装一个Adaptee对象,把原接口转换成目标接口。 适配器模式有两种: 一种是对象适配器模式 另... 阅读全文
posted @ 2014-03-31 13:29 我是大嘴猴 阅读(492) 评论(0) 推荐(0)
摘要:装饰模式 摘要:装饰模式:Decorator模式(别名Wrapper),动态地给对象添加一些额外的职责。从功能上来说,装饰模式比生成子类更为灵活。 装饰模式的结构 装饰模式的结构包括4种角色: 1.抽象组件(Component):抽象组件(抽象类或接口)定义了需要进行装饰的方法,简单来说如果一个类继承自该类或实现了该类就具有了装饰或被装饰的能力。 2.具体组件(ConcreteComponent):具体组件是抽象组件的子类,是“被装饰者”角色。 3.装饰者(Decorator):装饰者是抽象组件的一个子类,是“装饰者”角色,其作用是装饰具体组件,需要包含Component的引用。... 阅读全文
posted @ 2014-03-26 17:10 我是大嘴猴 阅读(534) 评论(0) 推荐(0)
摘要:单件模式 单件模式的结构非常简单,只包括一种角色:单件类(Singleton),单件类只可以创建出一个实例。 单件类在设计上有如下特点: 1.单件类中包含自身声明的类变量,这个类变量是单件类唯一的实例。 2.单件类的构造方法是private。为了确保单件类中自身声明的类变量是单件类的唯一实例,单件类必须将构造方法的访问权限设置为private。这样,任何其他的类都无法使用单件类来创建对象。 3.单件类负责创建自己唯一的实例,并提供访问该实例的类方法。由于单件类的构造方法被设置为private,所以单件类必须自己负责创建自身声明的实例。为了让用户使用单件类的这个唯一的实例,单件类必... 阅读全文
posted @ 2014-03-14 09:28 我是大嘴猴 阅读(619) 评论(0) 推荐(0)
摘要:什么是设计模式 一个设计模式是针对某一类问题的最佳解决方案,而且已经成功应用于许多系统的设计中,它解决了在某种特定情景中重复发生的某个问题,因此,可以这样定义设计模式:“设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。 什么是框架 框架不是模式,框架是针对某个领域,提供用于开发应用系统的类的集合。程序设计者可以使用框架提供的类设计一个应用程序,而在设计应用程序时可以针对特定的问题使用某个模式。一个框架往往会包括多个设计模式,他们是面向对象系统获得最大复用的方式。Android系统中的Application Framework(应用程序框架层)就是框架。突然想到,我们开... 阅读全文
posted @ 2014-03-13 21:49 我是大嘴猴 阅读(412) 评论(0) 推荐(0)