设计模式(总纲)
网上关于设计模式的文章很多,为什么我还要重复写设计模式的文章,在看到LZ大牛的一篇《聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路》博文后,发现自己陷入了思维误区,在之前看的一本《Java EE设计模式解析与指南》本中,提出一个反设计模式的思维,于是自己便成了这个思维的拥护者(还是懒)
闲暇时间开始进入设计模式思考,重点是不理解设计模式的套路真的看源码很痛苦,个人感觉设计模式小白慎入,大学时期买了一本《大话设计模式》的书,由于缺少实践,因此你懂得,被虐的一脸懵逼,现在开始痛并快乐着的学习之旅
概念:设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
创建型: 单例模式 简单工厂模式 、工厂方法模式 、 抽象工厂模式 、建造者模式 、原型模式。
结构型: 代理模式 、 适配器模式 、 装饰器模式 桥接模式 组合模式 享元模式 外观模式
行为型: 观察者模式 模板方法模式 命令模式 状态模式 职责链模式 解释器模式 中介者模式 访问者模式 策略模式 备忘录模式 迭代器模式
《六大原则》
-
单一职责原则(每个类都只负责单一的功能,不可太多,并且一个类应当尽量的把一个功能做到极致):简单理解=>一个类只做一件事
-
里氏替换原则(子类可以扩展父类的功能,但不能改变父类原有的功能):简单理解=>儿子可以替代父亲
-
接口隔离原则(也称接口最小化原则,强调的是一个接口拥有的行为应该尽可能的小):简单理解=>看书跟看电视二者不能同时进行
-
依赖倒置原则(高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象):简单理解=>你是人类但是人类不是你
-
迪米特原则(一个对象应该对其他对象保持最少的了解):简单理解=>当有了女朋友后少跟异性接触
-
开-闭原则(对修改关闭,对扩展开放)
这堆概念可以在后面随着具体的代码再回过来理解,现在就大概了解就行了