![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
重温设计模式
huakaiba
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
对比学习headfirst和大话设计模式里面的经典模型headfirst上用的是生产披萨的例子来说明工厂模式,工厂模式适用于生产某个类下的不同子类对象,例如Pizza类下的cheesePizza和VeggiaePizza,本质上都是披萨,只是特点不同,对于根据参数而生产不同对象的形式就很适合用简单工厂模式,避免将这个选择判断的过程写在主程序里面,因为抽取后还可以在其他地方使用。if..else...原创 2019-03-02 15:57:59 · 133 阅读 · 0 评论 -
深入解析策略模式
原文地址:https://www.cnblogs.com/lewis0077/p/5133812.html 在讲策略模式之前,我们先看一个日常生活中的小例子: 现实生活中我们到商场买东西的时候,卖场往往根据不同的客户制定不同的报价策略,比如针对新客户不打折扣,针对老客户打9折,针对VIP客户打8折... 现在我们要做一个报价管理的模块,简要点就是要针对不同的客户,提供不同的折扣...转载 2019-03-02 19:22:24 · 178 阅读 · 0 评论 -
装饰者模式
好文共赏,原文地址:https://www.cnblogs.com/lewis0077/p/6174374.html1.什么是装饰者模式 动态给对象增加功能,从一个对象的外部来给对象添加功能,相当于改变了对象的外观,比用继承的方式更加的灵活。当使用装饰后,从外部系统的角度看,就不再是原来的那个对象了,而是使用一系列的装饰器装饰过后的对象。2.结构 ...转载 2019-03-03 20:21:41 · 133 阅读 · 0 评论 -
工厂方法模式
也可以参考这一篇,总结很到位:https://blog.csdn.net/jerry11112/article/details/80618420之前提到了简单工厂模式,里面用条件判断形势来生产不同类别的产品,但是存在一个问题,就是增添新品种的产品时,要修改工厂里的判断分支语句,添加上新品的if判断语句(或者修改代码,增添case分支语句来满足新品种),这就破坏了开放-关闭原则,要对增加开放...原创 2019-03-04 19:57:34 · 255 阅读 · 0 评论 -
谈谈类之间的关联关系与依赖关系
对于很多刚刚接触UML的童鞋,可能会对类之间的关联与依赖关系不太理解,今天小菜就浅薄的讲一下。 这块的确是有点乱,不过小菜突然找到了一个比较好的切入点,拿出来分享一下。 接触过设计模式的读者,会经常看到这样的场景:在实例化A类的时候,需要B类作为构造方法的参数,这说明A类需要持有一个B类的引用。比如代理模式、装饰 模式等,都会这样做。例如Java中的IO流采用的就是...转载 2019-03-14 19:52:12 · 1359 阅读 · 0 评论 -
桥接模式
转载自:https://www.cnblogs.com/chenssy/p/3317866.html 在开始学java的时候老师讲到继承的时候,总是喜欢用一个例子来讲解,那就是画图,这里有一个画笔,可以画正方形、长方形、圆形(这个大家都知道怎么做吧,我就不解释了)。但是现在我们需要给这些形状进行上色,这里有三种颜色:白色、灰色、黑色。这里我们可以画出3*3=9中图形:白色正方形、白色长...转载 2019-03-12 11:03:13 · 80 阅读 · 0 评论