设计模式
zzzkk2009
Genius only means working hard all ones life!
展开
-
设计模式之抽象工厂方法模式
抽象工厂方法模式的核心思想就是工厂类也抽象化,所有工厂类都实现共同的接口,每个工厂类只负责一种产品的新建,需要哪种产品,就用专门的工厂获取。 实现步骤: 1、产品类的接口类; 2、各个产品类; 3、工厂类的接口类; 4、各个工厂类; 5、客户端调用;原创 2015-03-26 15:53:20 · 441 阅读 · 0 评论 -
设计模式学习之简介
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每原创 2015-03-26 14:42:40 · 419 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法(Factory Method)模式分为三种: 1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 实现步骤: 1.1 新建一个接口类(所有需要工厂类管理实例创建的类都必须要实现该接口); 1.2 新建所有的实例类(必须实现1.1的接口); 1.3 新建工厂类(调用同一个工厂方法,根据入参的不同,实例化不同的具体类给用户); //ps:可用if e原创 2015-03-26 15:24:56 · 378 阅读 · 0 评论 -
设计模式之适配器模式(Adapter)
类适配器是指该适配器继承至某个源类,因此它只为这个类提供适配服务;因为适配器继承了源类,所以它就拥有了源类的能力,同时我们可以给该适配 器类添加新的方法,去完成目标对象的任务而该任务源类对象是无法完成,这样我们就实现了从源类到目标类的适配工作。也可以这样理解,假设目标接口类需要拥有源类的能力,同时还需要新增一些能力,这时我们就可以新建一个适配器类继承源类,同时实现目标接口类,则原创 2015-03-27 15:16:21 · 452 阅读 · 0 评论 -
设计模式之装饰模式(Decorator)
装饰模式(Decorator)的核心思想是指能动态的给一个对象新增功能,而且还能动态撤销。要实现装饰模式,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。这样在装饰对象调用被装饰对象的方法前后就可以动态添加处理逻辑,从而达到装饰的效果。该模式容易产生过多的相似对象,不易排错。原创 2015-03-27 15:37:09 · 442 阅读 · 0 评论 -
设计模式之单例模式(Singleton)
单例模式需要注意的几点: 1、构造方法必须是private私有方法; 2、getInstantce()方法如果不加synchronized,则无法保证线程安全;但加了则会影响性能; 3、做双重判空处理,只有当未被实例化的时候,才将实例化的过程用synchronized同步块,对该对象加锁,然后判空是否需要实例化;但由于在java指令中,创建对象和赋值是分开执行的,jvm并不能保证两个的先后顺原创 2015-03-26 16:49:42 · 439 阅读 · 0 评论 -
设计模式学习之构建者模式(Builder)
构建者模式主要包含产品角色、抽象构建者角色、具体构建者角色以及指导者角色四类;产品角色类需要指定构建该产品需要的各个部件属性或方法;抽象构建者角色类根据构建产品需要的各个部件规定具体构建者必须实现的构建方法以及提供获取该产品的方法;具体构建者角色类需要维护一个具体产品类的实例对象,并实现该产品各个部件的构建过程,最后还需要提供一个可以获取该产品的方法;指导者角色类需要维护一个构建者角色的实例,并提原创 2015-03-27 11:35:47 · 625 阅读 · 0 评论 -
设计模式之原型模式
原型模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象;复制过程可分为浅复制和深复制。 浅复制是指直接调用父类(即Object类)的clone方法(super.clone()),该方法是本地(native)方法,调用该方法clone出来的新对象,基本数据类型的属性变量是新创建的,在不同的堆内存中,但是新对象的引用类型属性变量则和原对象保持一致,指向相原创 2015-03-27 14:39:17 · 406 阅读 · 0 评论