
设计模式
wezzdo
xxxxx
展开
-
工厂模式
接口:public interface Shape { void draw();}实体类:public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle:draw() method."); }}publi原创 2017-09-04 09:46:25 · 175 阅读 · 0 评论 -
单列模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。public class SingObject { private static SingObject instance=new SingObject(); private SingObject(){} public static SingObject getInstance(){ return instance; } pu转载 2017-09-04 16:00:38 · 208 阅读 · 0 评论 -
建造者模式
意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决:主要解决在软件系统中,有时候面临着”一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。 何时使用:一些基本部件不会变,而其组合经常变化的时候。 如何解决:将变与不变分离开。 关键代码:建造者原创 2017-09-06 09:51:34 · 179 阅读 · 0 评论 -
原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据原创 2017-09-07 11:20:27 · 265 阅读 · 0 评论 -
枚举工厂
优点: 1.避免错误调用的发生 一般工厂方法模式中产生方法(也就是createcar方法)可以接受三种类型的参数:类型参数、String参数(产生方法中判断String参数是需要产生什么产品)、int参数(根据int值判断需要生产什么类型的产品),这三种参数都是宽泛的数据类型,很容易产生错误(比如边界值问题、null值问题),而且出现这类错误编辑器还不会报警。而使用枚举类型的工原创 2017-09-07 22:52:31 · 373 阅读 · 0 评论