随笔分类 -  设计模式

摘要:中介者模式: 行为类模式,用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式。 结构: 解决一系列对象之间复杂的耦合关系,这一系列对象往往是相互依赖的关系,中介者模式采用一个中介者对象将这一系列对象 阅读全文
posted @ 2017-03-17 20:09 dahuandahuan 阅读(115) 评论(0) 推荐(0)
摘要:模板方法模式 用于规范某一算法的实现步骤,一般在父类中定义算法的一系列步骤,但不必实现每个步骤,然后子类实现其中具体的步骤,最后执行的顺序按父类中的定义。 角色: 接口:定义父类的行为。 抽象父类:定义步骤的执行顺序和若干步骤的抽象实现或空实现。 子类:继承父类,实现其抽象步骤或覆写其步骤实现。 示 阅读全文
posted @ 2017-03-15 23:44 dahuandahuan 阅读(122) 评论(0) 推荐(0)
摘要:抽象工厂模式是对工厂方法模式的进一步拓展,工厂可创建多个产品而不再是一个,产品也成为一个组合而不是单一的对象。 角色: 产品族A接口:定义产品族A统一行为 具体产品族A产品1:产品族A的具体一种产品 产品族B接口:定义产品族B统一行为 具体产品族B产品1:产品族B的具体一种产品 工厂接口:定义工厂统 阅读全文
posted @ 2017-03-15 23:05 dahuandahuan 阅读(109) 评论(0) 推荐(0)
摘要:工厂方法模式属于创建型模式,与简单工厂相比 它多了工厂的接口和生产固定产品的工厂类,即每种产品都有固定的工厂。 一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方 阅读全文
posted @ 2017-03-15 22:34 dahuandahuan 阅读(123) 评论(0) 推荐(0)
摘要:工厂模式属于创建型模式,由一个工厂对象决定创建出哪一种产品类的实例。 角色: IProduct: 产品共同的接口 Product1:具体的产品类 Creator:工厂类,可根据参数决定创建的产品类型 示例: end 阅读全文
posted @ 2017-03-15 22:15 dahuandahuan 阅读(144) 评论(0) 推荐(0)
摘要:Strategy 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。 策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略 阅读全文
posted @ 2017-03-12 16:56 dahuandahuan 阅读(158) 评论(0) 推荐(0)
摘要:Prototype 原型模式是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的.原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相同但名字不同的同类数据。 阅读全文
posted @ 2017-03-12 16:22 dahuandahuan 阅读(163) 评论(0) 推荐(0)
摘要:Singleton 一种创建型模式,某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。 实现方式1: 实现方式2: 测试类: 输出: 1 2000个线程同时获取实例,Set中只有一个地址,说明只有一个类的实例。 end 阅读全文
posted @ 2017-03-12 11:56 dahuandahuan 阅读(126) 评论(0) 推荐(0)
摘要:单一职责原则(Single Responsibility Principle, SRP): 一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些 阅读全文
posted @ 2017-03-12 09:46 dahuandahuan 阅读(132) 评论(0) 推荐(0)
摘要:适配器(Adapter)模式概述 将一个类的接口转换成客户方期望的接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 模式中的角色 1 目标接口(Target):客户方所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 2 需要适配的类(Adaptee):需要适配的类 阅读全文
posted @ 2016-11-10 23:09 dahuandahuan 阅读(129) 评论(0) 推荐(0)
摘要:Decorator 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客户端透明的方式扩展对象的功能。 * 通过使用修饰模式,可以在运行时扩充一个类的功能。 * 原理是:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类 阅读全文
posted @ 2016-09-26 22:48 dahuandahuan 阅读(138) 评论(0) 推荐(0)
摘要:代理模式:为某些对象提供代理以实现对这个对象的访问。 对一个对象进行访问控制的原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。 一般包括以下组件: 被代理者接口:提供被代理者的访问途径。 被代理者:定义真实对象。 代理者:保存一个被代理者的引用, 并对外提供统一的代理方法, 可以对被代 阅读全文
posted @ 2016-05-22 17:58 dahuandahuan