随笔分类 - 设计模式
想法好,才是真的好。想的到,一般就做的到
摘要:装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更具有弹性的替代方案。关系图如下:代码如下:public interface Sourceable { public void method(); }public class Source implements Source...
阅读全文
摘要:观察者模式,定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。例如,邮件订阅和RSS订阅,当你订阅了改文章,如果有后续更新,会及时通知你。关系图如下:我解释下这些类的作用:MySubject类就是我们的主题,Observer1和Observer2是依赖...
阅读全文
摘要:策略模式定义了一系列算法,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。例子:public interface ICalculator { public int calculate(int a, int b); }public class Plus impl...
阅读全文
摘要:单例模式是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销;2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力;3、有些类如交易所的核心交易引擎,控制着交易...
阅读全文
摘要:工厂方法模式有一个问题,就是类的创建依赖工厂类,也就是说,如果想要扩展程序,必须对工厂类进行修改,这违背了封闭原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。关系图如下:例子:商品接口...
阅读全文
摘要:工厂方法模式分为三种:工厂模式、多个工厂方法模式,静态工厂方法模式。1、工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。关系图如下:举例:发送邮件和短信首先,创建二者的共同接口:public interface Sender { public void send();}其...
阅读全文

浙公网安备 33010602011771号