
设计模式
longjie_happy
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
一、使用场景再不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新的操作。 案例: 例如如果实现计算器的功能时,对于同样的输入数据,可能执行加、减、乘、除,甚至其他的功能。因此可以抽象出一个操作的抽象类或是接口,提供一个统一的处理方法(此处为process),然后每种操作创建出一个子类出来。而判断具体使用哪个具体的实现类原创 2013-04-22 10:11:49 · 737 阅读 · 0 评论 -
状态模式
1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。3. 模式中的角色 3.1 上下文环境(Context):它定义了客户程序需要的接口并维护一个具体状态角色的实例,转载 2013-08-08 10:11:08 · 462 阅读 · 0 评论 -
建造者模式
一、使用场景1、概念:将一个复杂对象的构件与它的表示分离,使得同样的构件过程可以创建不同的表示。如果使用的建造者模式那么用户只需指定需要建造的类型就可以得到他们,而具体的建造过程和细节就不需要知道了。2、首先要明确使用建造者模式时,需要建造的复杂对象需要一个固定的抽象流程。3、不同的产品对象在构造时,可以定义一个具体的建造者。二、UML类图三、角色说明Build原创 2013-07-22 15:08:16 · 615 阅读 · 0 评论 -
设计模式分类
一、创建型单件模式、工厂模式、抽象工厂模式、创建者模式、原型模式二、结构型组合模式、外观模式、适配器模式、桥模式、装饰模式、享元模式、代理模式三、行为型命令模式、观察者模式、策略模式、职责模式、模版模式、中介者模式、解释器原创 2013-05-15 09:50:20 · 572 阅读 · 0 评论 -
原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在ja转载 2013-05-15 09:38:39 · 656 阅读 · 0 评论 -
外观模式或门面模式
一、使用场景1、在设计初期阶段,有意识的讲不通的层分离,层与层之间建立外观Facade,比如MVC各层,为复杂的子系统提供一个简单的接口,降低系统耦合度。2、在开发阶段子系统不断的演化变得越来越复杂,增加一个Facade可以提供一个简单的接口,减少与子系统的耦合,依赖。3、在维护一个大的遗留系统,这个系统此时已经难以维护了,所以在新老系统交互时,可以使用Facade来项目交互。二、原创 2013-05-13 10:31:53 · 784 阅读 · 0 评论 -
工厂模式
一、使用场景工厂模式定义:实例化对象,用工厂方法代替new操作.为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心原创 2013-05-03 11:31:10 · 617 阅读 · 0 评论 -
装饰模式
一、使用场景把每个需要装饰的功能放在单独的类中,并让这个类包装他所要装饰的对象,为已有的功能动态的添加更多功能的一种方式。注意是一种使用对象链的方式,类似于递归方式二、UML类图原创 2013-05-02 15:44:35 · 609 阅读 · 0 评论 -
代理模式
一、使用场景1、远程代理:也就是对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同的地址空间的事实。2、虚拟代理:例如hibernate中的一对多中的多在lazy为true时暂时不加载,只用一个代理来表示。3、安全代理:用来控制实际对象访问的权限。4、在代理对象的方法被调用时,代理可以做一些其他的操作。诸如AOP等策略。例如:假设有一组对象都实现同一个接口,实现同原创 2013-05-02 15:16:50 · 633 阅读 · 0 评论 -
适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。转载 2013-08-16 15:00:45 · 469 阅读 · 0 评论