设计模式
forDreamPersist
因上努力 果上求缘
展开
-
设计模式学习002——装饰者模式
设计模式中有一个黄金法则:慎用继承,多用组合。 如果使用继承,一旦需求改变,这个时候一般都需要去改代码。这样就会造成耦合性太高,维护成本加大。但是使用组合,则可以很好的来解决一些问题。 关于装饰者有五条规则: 第一:装饰者和被装饰者对象要有相同的超类型。这样把被装饰者包装者的被装饰者给别人看的时候,才不会引起类型混乱。 第二:一个被装饰者可以被多个装饰者进行多次包装。 第三:既然装饰者和原创 2015-03-16 20:49:24 · 435 阅读 · 0 评论 -
设计模式学习004——单例模式Singlton
单例模式:当一个类被设计成单例模式后,就可以保证任何时候,该类对应的实例永远就只有一个对象。 那如何实现单例呢?只要保证如下几点就可以了。 第一:一定不可以让用户通过关键字new来创建对象。(只提供private的构造器) 第二:该类要提供一个接口给外界使用此类的对象。(getInstance()方法) 下面我们给出我们的代码: public class SingltonInstance原创 2015-03-26 14:32:30 · 596 阅读 · 0 评论 -
设计模式学习001——观察者模式
观察者模式中的观察者和被观察者类似于“订阅者”和“报社”的关系。订阅者作为报社的观察者来观察报社的状态,一旦报社的状态发生变更(出了新报纸),订阅者就可以做出相应的相应(订阅者去报社取阅报纸),同时,一个订阅者也可以在任何时候去订阅或者取消订阅一个报社的报纸(类似于观察者可以随时监听和取消监听一个被监听对象的状态),同时一个订阅者也可以同时订阅多家报社的报纸(类似于一个观察者可以同时观察多个对象的原创 2015-03-05 23:50:40 · 363 阅读 · 0 评论 -
Spring学习_02_AOP原理-动态代理
Spring AOP核心机制就是JDK中的动态代理。如何实现动态代理有两种方式: 1:代理对象和被代理对象实现同样接口,这样,代理对象就可以代理被代理的对象来完成所有事宜(调用方法)。要求被代理的对象一定要实现相应的接口。 2:被代理的对象可以不实现接口,也可以直接以被代理对象的二进制码的方式来直接为其生成代理对象,hibernate、spring中就是这样完成的。 这里所讲的是JDK中动态原创 2015-03-09 22:17:12 · 353 阅读 · 0 评论 -
设计模式学习003——工厂模式(工厂方法、抽象工厂),简单工厂【也叫静态工厂】
本文讲解三个主要概念,简单工厂、工厂方法模式、抽象工厂模式。 首先,简单工厂也即静态工厂,当然也可以不是,但是因为我们常常把简单工厂中产生对象的方法声明为static的,所以就有了静态的由来。下面首先我们看一个例子:如果原创 2015-03-23 20:22:59 · 389 阅读 · 0 评论 -
设计模式学习005——命令模式
命令模式原创 2015-03-26 22:30:13 · 358 阅读 · 0 评论