![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 80
greahuang
这个作者很懒,什么都没留下…
展开
-
代码设计与敏捷开发
一、敏捷开发与MVP 1.mvp Eric Ries曾在《精益创业实战》中提出MVP(minimum viable product)概念,意即“最简可行产品”——用最快、最简明的方式建立一个可用的产品原型,这个原型要表达出你产品最终想要的效果,然后通过迭代来完善细节 从现在敏捷开发的角度来讲,这是快速迭代产品的最最好方式之一 就是mvp,不求大而全 2.敏捷开发三部原创 2015-03-19 17:32:05 · 609 阅读 · 0 评论 -
装饰者模式decorator
设计原则: 开放-关闭原则,对扩展开放,对修改封闭 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 类图 示例: 饮料销售系统 主体饮料:coffe 辅助调料:mocha,soy,whip。。 辅助调料价位都不一样,当辅助调料和主饮料不同搭配时,最终饮料价钱和饮料名称都不一样 如客户要:coffe+moc原创 2015-04-21 14:03:28 · 464 阅读 · 0 评论 -
策略模式Strategy(对象行为型)
Strategy定义: 策略模式定义了算法族(定义算法的统一接口),分别把不同套的算法封装成类,让算法对象之间可以相互替换,此模式让算法的变化相互独立(对象隔离);同时算法变化与使用算法的客户相互独立(相互之间状态互不影响),但是客户在使用算法时需要明确制定使用何种算法子类。 使用场景: 实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能,原创 2015-03-19 17:55:48 · 564 阅读 · 0 评论 -
模板方法模式Template method(类行为型)
模板方法: 1.定义了算法的步骤,可以把公共部分实现了,与具体子类相关的步骤如何实现延迟到子类由子类决定如何实现; 2.模板方法为我们提供了一种代码复用的重要技巧(公共方法) 3.模板方法的抽象类可以定义具体方法、抽象方法和钩子 4.抽象方法由子类来实现 5.钩子是一种方法,他在抽象类中不做事,或者只做默认的事儿,子类可以选择要不要屈服该它; 6.为了防止子类改变模板算法中部分方法的算原创 2015-03-19 19:56:37 · 451 阅读 · 0 评论 -
工厂模式factory(创建型)
工厂 工厂用来封装对象的创建。 简单工厂模式 一、模式概念 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 二、uml图 工厂方法模式 一、模式概念 是定义一个原创 2015-04-21 19:28:02 · 345 阅读 · 0 评论