![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java设计模式
文章平均质量分 75
凹凸曼_
这个作者很懒,什么都没留下…
展开
-
简单工厂模式(四则运算)
1. 目的 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 2.举例(两个数的加减乘除运算) /** * 定义一个得到运算结果的接口 * @author Michael * */ public interface Operation { pu...原创 2014-08-30 10:02:55 · 897 阅读 · 0 评论 -
策略模式
策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。结构图: 定义一个策略的接口: public interface Strategy { //算法方法 public void AlgorithmInterface();} 策略A: public class StrategyA implements Strategy{ @Overrid...原创 2014-08-30 10:51:14 · 59 阅读 · 0 评论 -
装饰者模式
装饰者模式(Decorator):动态地给一个对象添加一些额外的职责,就功能来说,装饰者模式比生成子类更灵活。 要点: 1. 装饰者和被装饰对象有相同的超类型。 2. 可以用一个或多个装饰者包装一个对象。 3. 装饰者可以在所委托被装饰者的行为之前或之后,加上自己的行为,以达到特定的目的。 4. 对象可以在任何时候被装饰,所以可以在运行时动态的,不限量的用你喜欢的装饰者来装饰对象。 ...原创 2014-08-30 15:53:07 · 66 阅读 · 0 评论 -
代理模式
1.代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 结构图: 2.职责 Subject:抽象主题角色,抽象主题类可以是抽象类,也可以是接口,是一个最普通的业务类型定义,无特殊要求。 RealSubject:具体主题角色,也叫被委托角色、被代理角色。是业务逻辑的具体执行者。 Proxy:代理主题角色,也叫委托类、代理类。它把所有抽象主题类定义的方法给具体主题角色实...原创 2014-09-01 08:19:44 · 64 阅读 · 0 评论 -
工厂模式(四则运算)
如果在之前写的简单工厂模式(四则运算)基础上,添加一个‘求M数的N次方’,我们需要改变工厂方法,添加‘Case’语句做判断,这样修改会违背开放-封闭原则。 这次,介绍工厂模式,为每个加减乘除方法添加一个工厂类,让客户动态地实例所需要的工厂类。 结构图: 工厂模式:定义一个用于创建对象的接口,让子类决定实例哪一个类。工厂方法使一个类的实例延迟到其子类。 ...原创 2014-09-02 09:16:30 · 599 阅读 · 0 评论 -
(转)java 单例模式
转自http://www.cnblogs.com/coffee/archive/2011/12/05/inside-java-singleton.html 首先来看一个典型的实现: 1 /** 2 * 基础的单例模式,Lazy模式,非线程安全 3 * 优点:lazy,初次使用时实例化单例,避免资源浪费 4 * 缺点:1、lazy,如果实例初始化非常耗时,初始使...原创 2014-09-15 10:54:44 · 79 阅读 · 0 评论