
设计模式进阶
爱飞的笨鸟
千里之行,始于足下.
展开
-
进阶--研磨设计模式----单例模式
单例模式 由于是进阶,基础的饿汉式与懒汉式单例模式就不在这里说明了,双重检查的写法也没什么可讲的,算是高级一点放上代码吧,双重检查: public class DoubleCheckSingleton { //私有化构造方法 private DoubleCheckSingleton(){}; //自己作为属性: 添加volatile 修饰,使其对所有线程可见 p...原创 2019-12-16 16:19:06 · 198 阅读 · 0 评论 -
进阶--研磨设计模式----适配器模式
简介 适配器模式使用场景: 当我们有已经实现的功能,但是与现在要求的接口不一致,则可以使用适配器模式用现在的接口去调用已经有了的实现的接口,总之,适配器的使用是为了复用已有的功能. 例子 其实,我们在工作中用的很多,例如Aservice a方法 需要调用Bservice的方法 b方法,就需要将BService实例注入到Aservice中,这就是适配器的使用了,我们要调用A的方法,但是我们知道了B...原创 2019-12-16 14:28:23 · 154 阅读 · 0 评论 -
2.进阶--研磨设计模式----外观模式
1.外观模式: 作用或者优点: 为某个系统的组合功能提供一个外层,也就是客户端使用系统的某个组合功能(需要与多个子模块交互)时候,可以通过提供一个外层,来避免客户端对子模块复杂的调用,简化了客户端的使用步骤,客户端只需要与外观交互即可. 缺点或者是注意点: 外观模式是由上到下的调用,不要存在反向的调用(防止循环调用,spring中类的注入,如果存在循环注入的话,会编译不通过,而且也是不符合逻辑的,...原创 2019-11-29 16:40:54 · 167 阅读 · 0 评论 -
再刷设计模式概述
1.本次学习设计模式起因是因为目前自己的能力呢到了一个瓶颈,是怎么的具体的情况呢?就是工作中的任务基本上都可以很好的实现,但是呢总觉得少点艺术性,对编程的艺术没有什么概念,也就是功能都能实现(大部分),但是呢没有什么更好的可以拿出来说的东西除了仅仅完成了功能,并且目前需要学习一些更加大的概念比如抽象,分化,分治等为进阶架构师做准备. 2.进阶的话,需要学习框架源码等,提前再学一遍设计模式有助于理解...原创 2019-11-29 15:04:27 · 121 阅读 · 0 评论 -
3.工厂模式----Head First(设计模式进阶)
简单工厂模式 简单工厂模式相对简单,我们只需要将生产不同产品的逻辑放入工厂类中,当需要生产产品的时候只需要传入类型,工厂就会生产对应的产品对象 public class SimpleFactory { public Piazza creatPizza(String type){ Piazza piazza=null; if ("cheese".equal...原创 2019-10-22 17:15:07 · 194 阅读 · 0 评论 -
2.装饰者模式----Head First(设计模式进阶)
目标 软件设计目标:正确性、健壮性、灵活性、可重用性、高效性–之后的所有的设计模式,我将会以此来作为学习的落脚点,其实,设计模式就是代码结构的设计技巧,有目标才能知道每种模式出现的根本的原因,和解决掉了什么样的问题. 就以装饰者模式作为开端,打个样出来,之后会不断的完善. 场景 星巴兹咖啡连锁店 ,点咖啡,有多种咖啡,每种咖啡都有标价,名字, 也可以点咖啡加多种调料,调料也有标价和名字,最后的成品...原创 2019-10-18 11:58:53 · 223 阅读 · 0 评论 -
设计模式目标,原则
软件设计模式 一、设计目标: ⑴、软件设计目标:正确性、健壮性、灵活性、可重用性、高效性 1、正确性:也就是满足应用程序的需求。 2、健壮性:是指软件对于规范要求以外的输入情况的处理能力。也就是说,在异常情况下,软件能够正常运行的能力。 3、灵活性:就是可以允许代码修改平稳地发生,而不会波及到很多其他的模块。 4、可重用性:也就是重复使用的意思。 5、高效性:一般指两个方面,一是执行效率,二是存储...转载 2019-10-17 09:46:07 · 907 阅读 · 0 评论 -
1.观察者模式-----Head First (设计模式进阶)
认识 观察者模式:出版者(主题)+订阅者(观察者) 使用场景:出版者发生动作,通知订阅者发出相应的动作.这里动作是抽象的,可以是状态,也可以是其他的,出版者与订阅者一般为一对多的关系. 首先:我们来分析一下主题与观察者的职能: 主题: 改变状态,注册观察者与注销观察者(管理观察者与自己的关系),通知观察者状态改变. 观察者: 更新自己的状态(动作) 那么,问题来了,为什么把管理两者关系的方法放...原创 2019-10-16 15:51:42 · 220 阅读 · 0 评论