
设计模式
不落叶的榕树
有朋自远方来,不亦乐乎
展开
-
设计模式学习之策略模式
策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的用户。有这样一个情景: 游戏公司要开发一款游戏,希望游戏界面上有一些鸭子,鸭子具有他本身的一些行为,包括飞,叫,跑等等。 于是我们这么设计,建立一个Duck接口,写几个飞,跑,叫的公共方法,那么接下来我们不同类的鸭子就实现这个接口,比如绿头鸭,草鸭等。这个就原创 2017-04-02 10:39:46 · 216 阅读 · 0 评论 -
设计模式之单例模式
单例模式:确保一个类只有一个实例并提供一个全局访问点技术应用:线程池,缓存,对话框,日志对象,充当打印机真实场景应用:某食品有一个工业强度巧克力锅炉控制器,比如锅炉已经满了还继续放入原料,或者锅炉内还没放入原料就开始空烧。这样的话,如果同时存在两个控制器实例的话,那么很可能会发生很糟糕的事情。于是,我们开始对单例模式的探讨。单例类特点:1、对构造方法私有化package原创 2017-04-02 15:16:28 · 202 阅读 · 0 评论 -
设计模式之观察者模式
自学设计模式,陆续将不断更新。原创 2017-03-26 16:48:09 · 270 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法:定义一个创建对象的接口,但由子类决定实例化的类是哪一个,工厂方法让类把实例化推迟到子类。先画出UML类图来理捷定义:应用场景:某披萨连锁公司想要拓展业务,使得更多的加盟店能够加入进来,但是他们希望,要保留总公司一些基本制作流程,以便能保持品牌效果,同时还要满足地域差异而带来的口味不同。分析该场景:根据总公司的要求,加盟店需要保持总公司的基本创建步骤,同时又原创 2017-04-03 18:05:49 · 221 阅读 · 0 评论 -
设计模式之命令模式
命令模式定义:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。应用场景:某公司需要制作有6个插槽的遥控器,遥控器上每个插槽对应两个按钮,分别是开和关,用来控制用户屋内的各种设备的开关,包括电灯、微波炉等等,他们希望,电灯或者其他设备的插头插进遥控器的任意一个插槽,遥控器都能实现对该设备的控制。分析:既然需要电灯或者其他设备的插原创 2017-04-04 19:56:50 · 224 阅读 · 0 评论