设计模式
丢失的猫咪
I like code,I'm a cat who can write code,喵喵喵?
展开
-
设计模式之《策略模式》学习
概念 策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 以计算器作为例子 首先,我们创建一个运算的接口: public interface Operation { public int doOperation(int num1, int num2); } 然后,在创建一个加法的类和一个减法的类来实现这个接口的运算操作: ...原创 2019-02-12 10:30:06 · 87 阅读 · 0 评论 -
设计模式之《模版模式》学习
概念 模版模式在一个方法中定义一个算法骨架,而将一些父类的步骤抽离到自擂中进行实现,从而将定义父类模版中的某些步骤延迟到子类中进行。 下面以做饭作为例子 首先,我们创建一个做饭的父类: public abstract class Cook { /** * 钩子开关 */ public boolean needBeforeCook = true; public boo...原创 2019-02-19 09:44:48 · 93 阅读 · 0 评论 -
设计模式之《外观模式》学习
概念 外观模式提供一个统一的接口,用来访问子系统中的一群接口。定义了一个高层的接口,让子系统更容易使用。 下面以启动电脑为例子 首先,我们创建一个硬件的基本接口: public interface IHardware { public void start(); } 然后,我们创建硬件的子类实现,分别创建Cpu、硬盘、内存: public class Memory im...原创 2019-02-19 09:58:19 · 112 阅读 · 0 评论 -
设计模式之《装饰器模式》学习
概念 装饰器模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 下面以购物消费为例子 首先,我们创建一个消费者接口,并实现这个接口的人叫“渣渣辉”(被装饰者)。 public interface Person { /** * 总消费 */ public Double cost(); public void show(); } ...原创 2019-02-27 09:44:46 · 153 阅读 · 0 评论 -
设计模式之《适配器模式》学习
概念 适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作使用。 以音乐播放器为例子 首先,我们创建一个音乐播放器的接口。 public interface MusicPlayer { /** * 播放音乐 * * @param type * 音乐格式 * @param filename * ...原创 2019-02-27 10:00:52 · 206 阅读 · 0 评论