设计模式,面试中的常客,也是一个老生常谈的问题。讲真,说句实在话,项目中真的很少知道一些经典的设计模式在真实框架中的实用。可能有的在用,但也不知道用的是哪个设计模式。
我问过自己身边的同事包括工作很多年的程序员,甚至是领导,有的人认为,我根本用不上,这是一种声音。也有一些觉得很重要,但是任务太多没时间学。还有一些比较半吊子的,说了两分钟没法往下说了,当然大牛也是很多的,各种回答都有,不管怎么样,为了更好的编程提高程序员个人素养,为了追赶大佬的脚步,小编从0开始和大家一起学习,一起进步。
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 首次提到了软件开发中设计模式的概念。下面是4个作者,合称 GOF(四人伙,全拼 Gang of Four)。




听说了吗,现在设计模式面试中总被问。


这个我知道啊,确实啊。


你知道什么是设计模式啊。


设计模式我认为是一种思想,也是一种对同一类问题的一种代码设计的总结。


然后呢,有什么好处吗。


既然是总结,当然是从实际经验总结来的,也是经过相当长的试错中来的,来之不易,如果让一段代码不被重复写几遍,如果更好的让代码被他人理解,合理的应用设计模式,可以解决很多现实的问题。


解决什么问题了啊,不就是个模式吗


单例模式在jdbc数据库链接,aop动态代理模式,观察者模式用于订阅功能等,很多,这些一般都是面试命中率比较高的题。


喵


设计模式一般分3类,创建型,结构型,行为型。


哪些是创建型的,那些是结构型的,哪些是行为型的呢。


好吧送你一副图给你。



有点多啊,我记不住啊


不用背哈,理解最重要了,后面会逐个的讲哈。


嗯,需要遵守什么原则吗


有啊他有六大原则,大概是这样的。


1、开闭原则
对扩展开放,对修改关闭。
2、里氏代换原则
子类都可以做到代替基类的出现。
3、依赖倒转原则
针对接口编程,依赖于抽象而非具体。
4、接口隔离原则
使用多个隔离的接口,比使用单个接口要好。(降低类之间的耦合度)
5、迪米特法则(最少知道原则)
一个实体应当尽量少地与其他实体之间发生相互作用。
6、合成复用原则
尽量使用合成/聚合的方式,而不是继承。
哦,有点抽象


由于篇幅有限,先到这里,下回我们继续讨论。


大佬,幸苦了,带你鸡腿,走起


啦啦啦




















