一句话 道出设计模式

       近段时间渐觉自己愚弱,感觉各方面都有些透支。索性去脑补一下设计模式。讲真,之前对此也是一知半解,未曾有太多研究,此番也是做简单了解,参考园里大神做些纪要。于是乎,我又一次发觉其实在日常撸码中已经隐隐约约用到了各种设计模式(你觉得梦想很远,其实你已经在路上了)。比如,数据库连接池用到了单例模式;比如,流程审核板块会用到责任链模式;比如,为了给对象动态添加职责用到了装饰者模式等等。当然如若真的能将这些个设计模式弄懂,写起代码来那真的是很方便,而且后人查阅也是一种美的享受啊。

  设计模式,是帮助我们解决实际开发过程中的方法,该方法为了降低对象之间的耦合度。世间本无设计模式,不过是为了更好的解决实际问题而生产出来的方法罢了。

  设计模式遵循封装变化,职责单一,面向接口编程等原则。个人理解就是封装、弱耦合。

  设计模式的原则:

        单一职责原则

         开闭原则

         依赖倒置原则

         接口隔离原则

         合成复用原则

         迪米特原则(或者叫最少知识原则) 

  一句话点点23种常用设计模式

         单例模式:要么没有,要么只有一个

         简单工厂模式:让子类决定实例化哪一个

         抽象工厂模式:提供相关性接口,无需具体指定

         工厂方法模式:在允许不修改工厂类的前提下添加新类

         建造者模式:构建与表示分离

         原型模式:重复利用现有实例的拷贝

         适配器模式:解决新旧共存的问题

         桥接模式:实现与抽象解耦

         装饰者模式:对象动态添加职责

         组合模式:简单复杂等同操作

         外观模式:一群接口简化为一个接口

         享元模式:重复对象共享

         代理模式:代理源对象控制引用

         模板方法模式:抽象共同,具体子类具体实现

         命令模式:把行为进行抽象成命令

         迭代器模式:抽象遍历集合元素

         观察者模式:一对多的监听

         中介者模式:中介类封装引用

         状态者模式:抽象状态类简化复杂判断

         策略者模式:一系列方法的封装

         责任链模式:多对象的处理

         访问者模式:封装对数据结构的操作

         备忘录模式:保存发起人内部状态

  ps,主要参考Learning hard  C#设计模式总结

  之前我收集一份23种常用设计模式简化,简单一句话搞定面试官应该问题不大,另外我也做一些pdf得笔记,感兴趣的博友可以私聊了一下了。当然这里只是让我妈一句话知道设计模式,其实每种设计模式研究深一些还是有秘密,这条路深不见底!欢迎查阅,欢迎吐槽,一起学习,欢迎进步!

原文地址:https://www.cnblogs.com/fuguoliang/p/7689551.html