设计模式
简单讲讲设计模式,不知道能坚持写多少,尽量更新吧
teddrummer
这个作者很懒,什么都没留下…
展开
-
3、装饰模式 Decorator Pattern
装饰模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 类该对扩展开放,对修改关闭 关羽装饰模式,网上各种吃喝示例。我这里就不借鉴别人的,自己来做个新的例子。当然还是离不开吃喝,用个老北京小吃来举例吧……卤煮火烧 好,首先我们先对卤煮进行分解,看看我们都需要实现什么东西。 基本的组成原料包括: 小肠:intestine 肺:lung 肝:liver 豆腐:tofu 饼:cake 首先卤煮最基础的就是底。可以理解为intestine+lung+liver+tofu。 还有原创 2020-08-07 16:11:48 · 126 阅读 · 0 评论 -
2、观察模式 Observer Pattern
观察者模式,定义了对象支架的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会周到通知并自动更新。 其实就是一个数据源,其他观察值都订阅这个数据源并提供一个统一的数据更新方法供数据源数据更新的时候发送通知给各位观察者。 精髓就是所有观察者必须实现一个统一的update方法。 废话不多说了,其实理解到这个程度基本就OK了。 为了交互对象之间的松耦合设计而努力。 发个例子:气象数据变化于展示 数据源:气象数据WeatherData 观察者:气象展示CurrentDisplay 数据对象实现的接原创 2020-08-07 16:11:17 · 127 阅读 · 0 评论 -
1、策略模式 Strategy Pattern
策略模式:抛砖引玉,为了让一些小白理解设计模式而写,大神请绕行。顺便可以熟悉GoLang 经典鸭子问题: 鸭子有个基础的父类,但是有很多种鸭子,比如:模型鸭、唐老鸭、绿头鸭 鸭子属性这里就忽略了,直接用两个行为来举例子:叫和飞 从这3种鸭子来看: 绿头鸭会呱呱叫,模型鸭不会叫,唐老鸭会说话(就算是会说话吧) 绿头鸭会飞,模型鸭和唐老鸭都不会飞 好了,我们现在需要做的就是实现一个鸭子的父类,让后让模型鸭、唐老鸭、绿头鸭都继承这个父类。 定义飞和叫两个行为接口,每种鸭子继承父类并实现飞和叫两个行为。 找出应用原创 2020-08-07 16:10:07 · 205 阅读 · 0 评论 -
设计模式总结(应用场景分析)
1、策略模式 Strategy Pattern 策略模式主要针对归属于同一基类,有同样的方法,但是各自方法的实现截然不同。 这时我们通过策略模式将这种共同的方法抽象成统一的接口,并实现所有可能的方法。 某一子类通过集成父类来集成这种接口方法,并通过初始化自己所需要的实现方法来实现具体的行为 2、观察模式 Observer Pattern 针对同一数据源被不同的实例所使用。 通过观察者模式定义一个主题接口,并定义注册、注销、通知这些方法;定义一个订阅者接口,并定义统一的数据更新方法 将数据源实例化并实现主题接原创 2020-08-07 16:06:12 · 391 阅读 · 0 评论