设计模式
PYPARA
Things change ,roll with it.
展开
-
1.模板方法 Template Method
使用Template Method一个前提条件是使用部分 整体框架或者说流程是相对稳定的。 这里用图说明左边是传统方法 右边是模板方法 假设实现软件的流程是稳定的 1-2-3-4-5-6 其中Step 4 .5是 变化的 ,是用户定义的。传统模式是 用户定义Step 4 .5 并且写出流程。 模板方法是 用户只需要定义 4.5(延迟步骤) 然后Play 就可以了。传统模式是 用原创 2016-11-04 23:13:32 · 322 阅读 · 0 评论 -
2.策略模式 Strategy
定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。Strategy及其子类为组件提供了一系列可重用的算法,从而可以使得类型在运行时方便地根据需要在各个算法之间进行切换。 Strategy模式提供了用条件判断语句以外的另一种选择,消除条件判断语句,就是在解耦合。含有许多条件判断语句的代码通常都需要Strategy原创 2016-11-05 15:16:23 · 277 阅读 · 0 评论 -
设计模式概述
“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。 ——Christopher Alexander 考虑到软件设计的复杂性和多变性,抽象思维是设计时候不可缺少的,是处理复杂性问题的通用技术,所以就有了设计模式来帮助我们更好的理解问题本质,更快的解决问题。面向对象设计原则: 1.依赖倒置原则(DIP) •原创 2016-11-04 14:11:13 · 256 阅读 · 0 评论 -
类之间的关系(C++)
转载自 cs_leebo 我觉得讲得特别清晰,对我帮助很大,非常感谢。类之间的关系在大体上分为两种,一种是纵向的,另一种是横向的。 一、纵向的就是继承,它是OO的三个特征之一。 在UML中称作: 泛化(Generalization) 表示为:实线+空心三角形 实现(Realization) 表示为: 虚线+空心三角形 1 泛化 泛化关系:转载 2016-11-15 22:46:21 · 555 阅读 · 1 评论