设计模式
xuanfengling
技术小白白
展开
-
工厂模式(1)
Demo场景:PizzaStore添加加盟店NYStylePizzaStore,PizzaStore需要控制Pizza制作流程,不控制具体Pizza的口味,加盟店NYStylePizzaStore可以修改Pizza。(1)将总店设计成加盟店的基类,能改的地方设为抽象方法: PizzaStorepackage designpattern.factory.pizza;public abstract cl原创 2016-04-12 10:53:28 · 267 阅读 · 0 评论 -
工厂模式(2)
Demo场景:PizzaStore添加加盟店NYStylePizzaStore,PizzaStore需要控制Pizza制作流程,不控制具体Pizza的口味,加盟店NYStylePizzaStore可以修改Pizza。相较于上一篇,这里主要关注通过抽象工厂模式,解决不同原料的问题。(1)总店还是作为加盟店的基类:PizzaStorepackage designpattern.factory.pizza原创 2016-04-12 16:52:41 · 317 阅读 · 0 评论 -
命令模式
Demo场景:通过遥控器控制Light开的动作。 核心是把方法封装成对象。(1)遥控器类,能够插入执行方法具体实现,并且按下按钮发出执行具体方法的动作:SimpleRemoteControl类,Command为插入指定方法的接口。package designpattern.command.remotecontrol;public class SimpleRemoteControl { Com原创 2016-04-13 09:16:59 · 307 阅读 · 0 评论 -
观察者模式
Demo场景:终端通过WeatherData实时显示(获取)变化的数据。(1)主题接口:Subject package designpattern.observer.v1;/** * 主题接口 */ public interface Subject { public void registerObserver(Observer o); public void removeObserv原创 2016-04-11 20:25:52 · 329 阅读 · 0 评论 -
装饰者模式
Demo场景:对不同类型的coffee进行计价。 被装饰对象可以被多个装饰者装饰;理解java.io.*中类之间的关系。(1)装饰者与被装饰者共同抽象基类:Beverage package designpattern.decorator.coffee;/** * 装饰者和装饰对象共同的基类 */ public abstract class Beverage { String descri原创 2016-04-11 20:33:45 · 303 阅读 · 0 评论