1、原由
从《大型网站架构系列》到《架构师入门实践》,一直想把代码设计和架构的知识进行总结,可是苦于精力和能力有限,推进起来比较缓慢。也屡次收到出版社的邀请,但迟迟没有动笔。偶尔也会纠结作视频仍是写文章,考虑到业余写做和工做之间的平衡,仍是先以文章为主吧。写出来和你们交流,算是本身的一个知识总结,若是能帮到别人会更好。通过考虑,先出一个《设计模式系列》以后能够再根据状况总结一下别的。目标定下来,迟早都要走到,早走比晚走好。 --2019-09-14 于昌平
2、背景
设计模式是软件开发中对代码结构和代码设计的经验总结,学好设计模式是提升代码质量和提高架构水平的关键要素。本系列文章旨在介绍经常使用的设计模式的应用和实践,部分模式会结合JDK源码,经常使用框架或工做场景进行实例介绍。不足之处,请批评指正,但愿与你们共同进步。今天发布系列文章大纲,以后会不按期发布。
3、文章模式
为了能更好的讲解,设计模式讲解文章采用如下结构而且增长了修订记录,用于文章发布和修改记录,方便查阅使用:
修订记录
修订1: 2019-09-15 初版大纲V1.0发布;
修订2:
一、应用场景
1.1 生活问题
1.2 业务问题
二、解决方案
2.1 传统方式
2.2 设计模式
三、模式讲解
3.1 模式定义
3.2 UML图
3.3 元素介绍
4.4 标准代码演示
四、实际应用
4.1 SDK或框架源码
4.2 业务案例
五、模式比较
5.1 优缺点
5.2 相关模式差别
4、文章大纲[大纲若调整,请以新版为准]
第一篇、面向对象基础知识
修订记录
修订1: 2019-09-15 初版V1.0发布;
修订2:
一、何为对象
1.1 对象
1.2 类[数据,行为]
1.3 接口
1.4 抽象
二、三大特征
2.1 继承
2.2 封装
2.3 多态
三、对象之间的关系
3.1 关联关系
3.2 聚合,组合
3.3 高内聚,松耦合
四、UML类图
4.1基本元素
4.2元素关系
4.3类图示例
第二篇、面向对象设计原则
引言:比设计模式更重要的是设计思想和设计原则,基于这些原则,逐步产生了不一样的设计模式。所以,学好设计模式的基础是掌握基本的设计原则。
一、代码抽象三原则
二、GRASP原则
三、SOLID原则
四、SOC原则
第三篇、设计模式分类和一句话设计模式总结
第四篇、单例模式
第五篇、工厂模式
第六篇、外观模式
第七篇、适配器模式
第八篇、代理模式
第九篇、装饰者模式
第十篇、策略模式
第十一篇、观察者
第十二篇、模板方法
第十三篇、职责链
第十四篇、建造者模式
第十五篇、组合模式
第十六篇、桥接模式
第十七篇、命令
第十八篇、状态
第十九篇、中介者
5、示例说明
一、本系列文章,示例语言采用Java,框架也会选择java生态框架,好比Spring,Mybatis等;
二、设计模式与语言无关,本系列文章也适合其余语言学习设计模式参考。