从2022年3月6日开始学习设计模式相关知识【Java设计模式 前言】我为什么要学习设计模式,到现在半年余,终于将设计思想、设计原则、重构相关内容学习完了,设计模式也学习完了创建型和结构型,回顾年度目标,不得不说【设计模式】是个难啃的骨头,还是要今年啃完:
不过学习完了收获也是最大的,这个收获更多的是道的收获,培养的是一种潜意识,可以说内功有所提升这里对设计思想、设计原则、重构相关内容做个总结,设计模式则等待行为型都学习完后再进行一个统一的总结。
回看最初的目标:【Java设计模式 学习目标及大纲】高质量代码的标准及实现路径在这篇Blog里我们明确了什么是高质量的代码:易维护、易读、易扩展、灵活、简洁、可复用、可测试,也知道高质量代码的达成路径工具箱:面向对象设计思想是基本指导思想,是很多设计原则、设计模式的实现基础;设计原则是代码设计的抽象经验总结、是设计模式设计的指导原则;设计模式是代码设计的一套具体解决方案或设计思路,主要用来提高代码可扩展性;编程规范是一套可执行的代码编写规范,主要用来提高代码的可读性;代码重构依赖面向对象设计思想、设计原则、设计模式、编程规范实现,主要用来提高代码的可维护性和可读性。
实际上,面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量的方法论,本质上都是服务于编写高质量代码这一件事的。也可以这么理解:设计思想、设计原则、设计模式、编程规范,在合适的时机进行代码重构,时刻保证和提高代码的质量 ,它们之间的关系可以组织为:
面对对象思想博客列表和文章脉络:
基于以上文章划分的脉络如下:
关于面向对象思想的文章结构如下
具体关键概念的索引脑图
关于设计原则的文章列表,文章脉络,概念结构
这其中涉及到不少知识点,总体总结在这里:
其中【基于接口而非实现编程】和【多用组合少用继承】不仅是一种编程技巧,也是编程思想和最佳实践。
关键知识索引如下:
重构相关的文章列表、文章脉络和关键索引
代码重构部分的文章列表如下:
序号 | 文章列表 |
---|---|
1 | 【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法 |
2 | 【Java设计模式 规范与重构】 二 重构的保障:单元测试,以及如何提高代码可测试性 |
3 | 【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合 |
4 | 【Java设计模式 规范与重构】 四 小型重构的手段:规范的十五条军规 |
5 | 【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case |
代码重构部分的文章结构如下:
关于重构部分知识点,关键索引如下
对于总结的总结来说,好像没什么可说的,一言以蔽之:通过继承、封装、多态、抽象、基于接口而非实现编程、多用组合少用继承、高内聚-松耦合、控制反转等设计思想;SOLID、KISS、DRY、YAGNI、LOD等设计原则和法则;创建型、结构型、行为型这些设计模式;依赖注入等编程技巧;模块化等系统设计技巧;命名与注释、编程风格、编程技巧等编程规范,在持续的重构中发挥作用。通过单元测试保证重构的顺利进行。而最终的目的都是保证易扩展、易维护、易复用、易读、简介、灵活、易测试的高质量代码活力常在。