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