设计模式
jijunj
这个作者很懒,什么都没留下…
展开
-
设计模式----观察者模式
最近学习了下设计模式,整理下笔记,以后复习,也跟大家多交流交流,呵呵。。。 观察者模式定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新 改变的对象一般称之为主题,而所有依赖者称之为观察者,只要主题状态一有变化,观察者就会被通知。 实现观察者模式的方法:一般以主题Subject...2011-10-19 21:23:14 · 93 阅读 · 0 评论 -
设计模式----装饰器模式
装饰器模式定义:动态地将责任附加到对象上,若要扩展功能,装饰器提供了比继承更有弹性的替代方案 上例子,咖啡店现有几种咖啡,超优深焙(DarkRoast),无咖啡因咖啡(Decaf),浓咖啡(Espresso),有几种调料,牛奶(Milk),摩卡(Mocha),豆浆(Soy) 咖啡可以加任意调料,变化的可能有:咖啡种类,调料种类,调料价格 基于设计原则:类应该对扩展开放,对修改关闭,所以...原创 2011-10-20 20:02:09 · 99 阅读 · 0 评论 -
设计模式----简单工厂模式
今天讲一下,简单工厂模式。 当我们看到“new”的时候,就会想到“具体”,一般我们的程序都要求面相接口编程:父类引用指向子类对象,而对象的创建这块一般就是会发生变化的部分,看看下面的例子: 以一个披萨店(PizzaStore)为例,需要制造出奶酪披萨(CheesePizza),香肠披萨(PepperoniPizza),披萨模板完成后,就是披萨筹备,烘焙,切,...2011-10-24 21:12:15 · 125 阅读 · 0 评论 -
设计模式----工厂方法模式
接着简单工厂模式,来个续集,工厂方法模式。 在上一集中,披萨店卖的很火,你赚的是盆满钵满,后面要加入加盟店(比如:纽约,芝加哥等),每一家加盟店制造的披萨又不一样,有芝加哥奶酪披萨(ChicagoStyleCheesePizza),芝加哥素披萨(ChicagoStyleVeggiePizza),纽约奶酪披萨(NYStyleCheesePizza),纽约素披萨(NYStyleVeggi...2011-10-24 22:26:35 · 73 阅读 · 0 评论 -
设计模式----抽象工厂模式
接到工厂讲,现在披萨店需要建一个原料工厂(原料包括:酱料,芝士,蔬菜,面团,腊肠等披萨原料),以免加盟店采用劣质原料,原料生产之后运送到各家加盟店,而且对于不同区域纽约,芝加哥等地的原料也不同。 OK,上代码 /** * 披萨原料工厂 */ public interface PizzaIngredientFactory { /** * 生产面团 ...2011-10-31 22:08:40 · 71 阅读 · 0 评论 -
设计模式----单例模式
单例模式,算是这些模式当中最简单的一个模式了,面试的时候如果问设计模式,貌似很多都会问到这个。 单例模式定义:确保一个类只有一个实例,并提供一个全局访问点。OK,由于此模式较简单,这里就不举什么 生活中的例子了,直接看代码: /** * 饥汉式,立即加载 */ public class Singleton { private static Singleton u...2011-11-02 21:20:50 · 67 阅读 · 0 评论 -
设计模式----命令模式
好久没过来写blog了,今天写一下命令模式。 案例:设计一个家电自动化的API,这个遥控器具有几个可编程的插槽,每一个插槽都有对应的开关按钮,还有一些java类,这些类由多家厂商提供,控制家电自动化装置, 例如:电灯,风扇等。好了,此时就要创建一个控制遥控器的API出来,让每一个插槽都能够控制一个装置。 每个类都有on()/off()方法,除外可能还有其他方法(如:stop(...2011-11-15 20:53:57 · 113 阅读 · 0 评论