设计模式
TingBen
这个作者很懒,什么都没留下…
展开
-
《大话设计模式》之装饰模式
1.定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。2.针对问题主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。 装饰模式是为已有功能动态地添加更多功能的一种方式。 何时使用:1)取代因基本功能的排列组合而产生非常大量的类2)需要动态的给一个对象增加功能,这些功能可以再动态原创 2017-11-28 15:35:37 · 440 阅读 · 0 评论 -
《大话设计模式》之模板方法模式
1.定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。2.实现原创 2017-12-05 15:20:31 · 231 阅读 · 0 评论 -
《大话设计模式》之原型模式
1.定义 用原型实例制定创建对象的种类,并通过拷贝这些原型创建新的对象,用于创建重复的对象,同时又能保证性能。实现克隆操作,在 JAVA 继承 Cloneable,重写 clone()。不用重新初始化对象,而是动态地获得对象运行时的状态。浅拷贝和深拷贝 如果字段是值类型的,则对该字段执行逐位复制; 如果字段是引用类型的,则复制引用但是不复制引用的对象,原始对象及其复本引用同一对象。原创 2017-12-05 15:03:09 · 273 阅读 · 0 评论 -
《大话设计模式》之工厂方法模式
一,定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,即由子类来决定应该实例化(创建)哪一个类。二,实现定义工厂方法所创建的对象的接口public interface Operation { public double GetResult(double NumberA,原创 2017-12-05 10:09:02 · 351 阅读 · 0 评论 -
《大话设计模式》之策略模式
策略模式1.定义定义算法/策略,分别封装起来,让它们之间可以互相替换。把对象本身和运算规则区分开来。所有这些算法/策略完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法/策略,减小了各种算法类与使用算法类之间的耦合。只用在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用。2.实现结构 //定义相同工作的抽象类public abstract class CashSu原创 2017-11-27 09:41:15 · 226 阅读 · 0 评论 -
《大话设计模式》之简单工厂模式
简单工厂模式1.介绍简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。2.优点/缺点优点:简单工厂模式能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。明确区分了各自的职责和权力,有利于整个软件体系结构的优化。缺点:很明显工厂类集中了所有实例的创建逻辑,容易违反GRASPR的高内聚的责任分配原则3.实现转载 2017-11-24 16:23:11 · 207 阅读 · 0 评论 -
建造者模式
1.定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 何时使用:一些基本部件不会变,而其组合经常变化的时候。 //具体产品public class Product { List<String> parts=new ArrayList<String>(); public void Add(String part){ p原创 2017-12-11 20:16:06 · 279 阅读 · 0 评论 -
《大话设计模式》之代理模式
1.定义为其他对象提供一种代理以控制对这个对象的访问。 主要解决: 在直接访问对象时带来的问题 当客户端无法直接操作实际对象: 一种情况是你需要调用的对象在另外一台机器上,你需要跨越网络才能访问,如果让你直接coding去调用,你需要处理网络连接、处理打包、解包等等非常复杂的步骤,所以为了简化客户端的处理,我们使用代理模式,在客户端建立一个远程对象的代理,客户端就象调用本地对象一样调用该代理原创 2017-12-01 15:32:44 · 396 阅读 · 0 评论 -
《大话设计模式》设计模式六大原则
(1)单一职责原则概念:就一个类而言,应该仅有一个引起它变化的原因。(2)开闭原则 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。(3)依赖倒置原则定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。(4)里氏替换原则子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义: 子类可以实现转载 2017-11-22 15:47:59 · 328 阅读 · 0 评论 -
《大话设计模式》之外观模式
1.定义 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。2.实现class SubSystemOne { public void MethodOne() { System.out.println("SubSystemOne"); }}class SubSystemTwo { public voi原创 2017-12-05 16:29:16 · 267 阅读 · 0 评论