
设计模式
文章平均质量分 57
shanshang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简单工厂方法模式
1。实现接口编程,隔离实现,不再对外暴露接口的实现,接口的实现转交给工厂方法。 简单工厂 简单工厂不是一个标准的设计模式,但是它实在是太常用了,简单而又神奇,所以还是需要好好掌握的,就当是对学习设计模式的热身运动吧。 为了保持一致性,我们尽量按照学习其它模式的步骤来进行学习。 1 场景问题 大家都知道,在Java应用开发中,要“面向接...原创 2010-12-13 14:46:20 · 169 阅读 · 0 评论 -
策略模式
策略模式(Strategy) 1 场景问题 1.1 报价管理 向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的客户要报不同的价格,比如: 对普通客户或者是新客户报的是全价 对老客户报的价格,根据客户年限,给予一定的折扣 对大客户报的价格,根据大客户的累计消费金额,给予一定的折扣 还要考虑客户购买的数量和金额,比如:虽然是新用户,...原创 2010-12-13 14:53:12 · 116 阅读 · 0 评论 -
java 代理模式
1. 代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都...原创 2010-08-24 09:31:27 · 85 阅读 · 0 评论 -
抽象工厂模式
转自:http://shjie5246.iteye.com/blog/687438 抽象工厂模式 抽象工厂模式是对象的创建模式,它是工厂方法模式的进一步推广。 抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定具体产品类型的情况下,创建多个产品族中的产品,这就是抽象工厂模式的用意。 每个模式都是针对一定问题的解决方案,抽象工厂模式面对的问题是多个产品等级结构的系统...原创 2010-09-02 11:24:44 · 90 阅读 · 0 评论 -
策略模式
策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。利用策略模式可以动态的改变对象的行为。策略模式属于对象行为型模式,主要针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。通常,策略模式适用于当一个应用程序需要实现一种特定的服务或者功能,而且该程序有...原创 2010-09-14 07:54:54 · 96 阅读 · 0 评论 -
策略模式详细分析
当我们掌握了Java的语法,当我们了解了面向对象的封装、继承、多态等特性,当我们可以用Swing、Servlet、JSP技术构建桌面以及Web应用,不意味着我们可以写出面向对象的程序,不意味着我们可以很好的实现代码复用,弹性维护,不意味着我们可以实现在维护、扩展基础上的代码复用。一把刀,可以使你制敌于无形而于江湖扬名,也可以只是一把利刃而使你切菜平静。Java,就是这把刀,它的威力取决于你使用的方...原创 2010-09-14 08:32:39 · 148 阅读 · 0 评论 -
singleton模式
1 应用场景 Java Singleton 模式(单身模式,单态模式)是一种创建型设计模式。用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。 2 创建解析 为了实现 Singleton 模式,我们需要的是一个静态的变量,能够在不创建对象的情况下记忆是否已经产生过实例了。静态变量或静态方法都可以在不产生具体实例的情况下直接调用,这样的变量或方法...原创 2010-09-15 08:07:54 · 112 阅读 · 0 评论 -
静态代理
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有: 抽象角色 :声明真实对象和代理对象的共同接口; 代理角色 :代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象...原创 2010-09-15 09:11:25 · 92 阅读 · 0 评论 -
spring使用观察者模式
传统观察者设计模式编写方法: 发布者类:Publisher.java import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Publisher implements Subject { private List subs= new ArrayLis...原创 2011-02-15 10:49:21 · 154 阅读 · 0 评论