学习总结
isskingdom
这个作者很懒,什么都没留下…
展开
-
设计模式学习(二)-- 观察者模式 Observer Pattern
观察者模式:定义了对象之间的一对多依赖,这样当一个对象状态改变的时候,它的所有依赖者都会收到通知并自动更新。设计原则:为了交互对象之间的松耦合设计而努力。 松耦合的设计让对象之间的依赖降到最低,这样便于建立更加有弹性的系统,应对变化。实现观察者模式的方法不止一种,但是包含Subject和Observer接口的设计实现最常见。主题只需要知道观察者实现了观察者接口Observer,不需要知道观察者的具原创 2015-03-19 09:41:17 · 420 阅读 · 0 评论 -
设计模式学习总结(一)策略模式Strategy Pattern
策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 继承让所有的子类都有父类的行为,如果子类的行为经常改变,让所有的子类都有父类的行为是不恰当的。 接口解决了一部分问题,让实现了接口的子类才有这类行为,但是接口不具有实现代码,无法达到代码复用,因此当需要修改一个行为的时候,必须往下追踪每个定义次行为的类来修改,容易造成新的错误。原创 2015-03-17 11:23:30 · 546 阅读 · 0 评论 -
设计模式学习(三) -- 工厂模式 Factory Pattern
简单工厂类:处理创建对象(封装对象的创建)的类,通常声明为静态的。简单工厂不能算是一个设计模式,比较像是一种编程习惯,用来封装对象的创建。使用静态方法好处是不需要使用创建对象的方法来实例化对象,缺点是不能通过继承来改变创建对象方法的行为。简单工厂类图: 类图中,SimplePizzaFactory负责创建Pizza对象,PizzaStore是简单工厂类的客户,他们创建具体产品(CheesePizz原创 2015-03-20 10:20:46 · 318 阅读 · 0 评论 -
设计模式学习(四) -- 单例模式 Singleton Pattern
单例模式:确保易一个类只有一个实例,并提供一个全局的访问点。全局变量可以提供全局的访问,但是不能确保只有一个实例。/** * * @author Yves */ public class Singleton { private static Singleton uniqueInstance; //静态变量来记录唯一的实例 private Singleton(){ //原创 2015-03-22 15:39:39 · 403 阅读 · 0 评论 -
设计模式学习(五) -- 装饰者模式 Decorator Pattern
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。继承的缺点:类的数量爆炸、设计死板,以及基类加入的新功能不适用所有子类。利用继承来设计子类的行为,是在编译时静态地决定的,而且所有子类都会继承到相同的行为。用组合扩展对象的行为,就能在运行时动态地扩展行为。而且使用组合,可以动态地组合对象,写新的代码添加新的功能,而不需要修改原来的代码,减少引进bug的风险原创 2015-03-30 10:06:35 · 320 阅读 · 0 评论