五大(七大)原则-系统学习三

简介: 小编自涉足程序园界几千天之多;对于设计原则的学习一直在努力从未见到顶。最近又将设计原则从宏观和微观的角度进行了对比学习;仅以此将自己的学习过程和收获做如下总结,

一、背景介绍


小编自涉足程序园界几千天之多;对于设计原则的学习一直在努力从未见到顶。

最近又将设计原则从宏观和微观的角度进行了对比学习;仅以此将自己的学习过程和收获做如下总结,


二、学习方法和思路


1.绘制图

2.查阅资料、并完善图(示例或者更加抽象的示意图)

3.编写代码(看着图来写代码)

4.代码和图对比理解(看图写代码的过程中进一步完善图和代码)

5.过程中提出问题,用示例和书中的描述来解答问题

6.明确知识点的逻辑关系(将美丽的珍珠串起来的过程)


三、学习过程


1.整体宏观图


20210506131346984.png


2.每个原则的学习(第一版以及需求)


20210506132910777.png


3.每个原则对应的示例符合之后的类图


20210506132450704.png


4.对应代码实现

限于篇幅,这里已经将代码上传到csdn资源库,地址为:https://download.csdn.net/download/u013030601/18410793

四、学习总结


1.向架构师的晋升之路又深入了一些

2.对于后续的设计以及编码要严格遵循的规则有了更加深入的理解

4.看着类图写代码的过程中对于类图之间的关系线具体对应到代码中还需要再明确(读者可期待我下一篇《UML的六种关系》博文总结)


五、升华


公民要遵守国家的法律,程序猿要遵守设计原则。

设计原则就好比国家法律一样重要;作为程序猿(媛)都有必要做到吾日三省吾码,是否遵循solidlc乎?


参考资料:可复用面向对象软件的基础(首版设计模式书)、大话设计模式、headfirst设计模式、java设计模式-刘伟、架构整洁之道(clean Architecture)-Robert C.Martin、设计模式之婵、设计模式那点事、java设计模式第二版中文版

相关文章
|
Java 关系型数据库
java面向对象设计的五大原则
java面向对象设计的五大原则
|
消息中间件 运维 前端开发
DDD实战之六:战略设计之技术决策
DDD实战之六:战略设计之技术决策
DDD实战之六:战略设计之技术决策
|
程序员
产品设计的几个原则
我认为产品经理最重要的工作是在有限的资源里,做出一个可交付的产品,然后不断打磨产品的价值。而产品是否具有价值,需要放到市场上去验证。
137 0
产品设计的几个原则
|
机器学习/深度学习 Go 持续交付
精益软件开发的七大原则
主要介绍精益软件开发的七大原则
2488 0
|
前端开发 架构师 NoSQL
DDD领域驱动设计落地实践系列:战略设计和战术设计
通过前面的文章介绍,相信大家对于什么是DDD有了初步的了解,知道它是一种微服务的架构设计方法论,为我们解决如何建立领域模型,如何实现微服务划分等提供了方向和指导。但是对于如何具体落地使用DDD,可能大家还是一脸懵B的状态,因此从本文开始以及后面的文章将对如何进行DDD落地进行详细的阐述。在这其中还是会涉及到DDD中的一些重要概念,原本想着在一篇文章中介绍所有的概念,但是我觉得,概念总是在它该出现的时候出现才会让大家印象深刻,否则这些概念只是死板的概念,我们不清楚他为什么出现以及可以解决什么问题。
DDD领域驱动设计落地实践系列:战略设计和战术设计
|
消息中间件 存储 缓存
技术架构的战略和战术原则,挺全乎。
技术架构的战略和战术原则,挺全乎。
276 0
技术架构的战略和战术原则,挺全乎。
|
设计模式 Java 关系型数据库
详细解读七大设计原则,精准剖析。
这篇文章主要介绍23种设计模式的根:七大设计原则
详细解读七大设计原则,精准剖析。
|
存储 开发者
软件研发中的N条原则
软件研发中的N条原则
219 0
软件研发中的N条原则
|
安全 5G 定位技术
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.2 6G 业务愿景 (四)
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.2 6G 业务愿景