java设计模式
文章平均质量分 67
飞跃M疯人院
这个作者很懒,什么都没留下…
展开
-
HeadFrist设计模式学习之迭代器模式
HeadFrist设计模式学习之迭代器模式 迭代器模式定义提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部表示 需求:设计一个print类用来打印对象内部的数据(ArryList,数组等等)数据对象样例class arrayData {ArrayList al;public arrayData() { // TODO Auto-generated construc原创 2016-06-11 22:30:09 · 281 阅读 · 0 评论 -
HeadFirst设计模式学习之组合模式
HeadFirst设计模式学习之组合模式组合模式定义允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合从定义出发可以得出两个结论组合模式是基于树这种数据结构的组合模式的目的是“用一致的方式处理个别对象以及对象组合”需求设计菜单,菜单能包含菜单项或者子菜单,子菜单能包含菜单项或者二级子菜单,以此类推。分析菜单和菜单项应拥有共同的基类原创 2016-06-11 22:29:24 · 394 阅读 · 0 评论 -
HeadFirst 设计模式学习之模板方法模式
HeadFirst 设计模式学习之模板方法模式 模板方法定义在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 demo演示–泡茶和冲咖啡分析:泡茶和冲咖啡都可以分成下面四个步骤:把水烧热冲泡茶/咖啡将茶/咖啡倒入杯子加入合适的调料(茶可以放柠檬,咖啡放糖)定义算法骨架:void preparRecip原创 2016-06-03 22:34:23 · 295 阅读 · 0 评论 -
HeadFrist设计模式学习之适配器模式
适配器模式定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。需求描述:JVM的公园里有很多动物,在必要时会将动物们放置在BOX里面,所以有很多Box和动物。现有的是一个可以放置十个鸭子的DuckBox类,其showMsg()方法可以打印每个位置的信息,具体如下:DuckBox类:class DuckBox { private原创 2016-05-30 17:36:03 · 372 阅读 · 0 评论 -
HeadFrist设计模式学习之外观模式
外观模式定义:外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。外观模式的意图是要提供一个简单的接口,好让一个子系统更容易使用,子系统的接口仍然是对外暴露的,仍可以使用。 demo演示子系统是一套提供电影播放服务的系统,主要有TV,voicebox,DVD三个类组成,各个类仅有开关等基本方法用于示例演示,例如TV类:class TV {原创 2016-05-30 17:34:51 · 327 阅读 · 0 评论 -
HeadFrist设计模式学习之做一个万能遥控器(命令模式)
让我们先来看一下命令模式的定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。看一下遥控器的需求:可以控制所有的家电,进行开关灯/电视。。。。等操作先来一个看起来没什么毛病的遥控器来控制:class Remotecontrol {Light light;TV tv;public Remotecontrol原创 2016-05-15 21:48:42 · 1328 阅读 · 0 评论 -
head first 设计模式学习之 简单工厂,工厂方法和抽象工厂
在前面的学习中(参见前面的博客),我们学到了很多OO原则: — 封装变化 —多用组合,少用继承 —针对接口/超类编程,不针对实现编程 —松耦合 —开闭原则 让我们从一个简单的类开始,看看如何将之改造成符合OO原则的类以及工厂模式在解耦中的威力。 class FoodStore { publ原创 2016-04-06 20:37:06 · 951 阅读 · 0 评论 -
head first 设计模式学习之策略模式
开门见山,首先表明什么是策略模式策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。好像从定义上来看,并不能明白什么是策略模式,那么让我们从一个问题上下手:怎么设计一个鸭子类?很简单,让我们运用面向对象的思想,万物皆对象嘛,鸭子可以叫,可以飞,可以游泳。。。把功能封装成方法不就好了,那么,写出来就是class Duck{p原创 2016-03-13 22:26:25 · 615 阅读 · 0 评论 -
head frist 设计模式学习之 装饰者模式
前情提要:http://blog.csdn.net/baidu_30889437/article/details/50917814 JVM:"上次给我招的工人不错啊!"oo程序员:"..........."JVM:"现在来我开的博物馆生意越来越好了,原来"舞台剧"的方式已经不能满足顾客的需求了"oo程序员:"..........."JVM:"我决定要换一种运营模式,把每个演播原创 2016-03-30 12:44:38 · 474 阅读 · 0 评论 -
HeadFrist设计模式学习之状态模式
HeadFrist设计模式学习之状态模式状态模式定义状态模式允许对象在内部改变状态时改变它的行为,对象看起来好像修改了它的类。状态模式用于当类由于条件语句而使逻辑变得十分复杂并且难于修改时,它将逻辑根据条件分成不同的类(每个类称之为一个状态),从而使类的内部结构变得清晰易读并且更符合业务逻辑。需求——实现下列糖果机class gumballMachine {int Money = 10; //原创 2016-06-16 10:31:31 · 256 阅读 · 0 评论