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

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

一、背景介绍


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

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


二、学习方法和思路


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设计模式第二版中文版

相关文章
|
监控 Cloud Native 安全
浅谈云原生可观测性
【1月更文挑战第23天】
|
10月前
|
人工智能 调度 芯片
PAI训练服务:云上大模型训练新篇章
本文介绍了通用AI时代下的新训练方法及PAI平台的优化。随着大模型时代的到来,算力需求激增,硬件和网络通信成为瓶颈。PAI平台通过自动容错、3D健康检测等技术确保训练稳定性;通过资源配额、智能调度等提高性价比;并推出PAI-TorchAcc和PAI-ChatLearn两大引擎,分别实现高效训练加速和灵活的对齐训练,显著提升训练性能与效果。这些改进解决了大规模AI训练中的关键问题,提升了效率和稳定性。
|
7月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的新闻管理系统源码+运行
基于Python+Vue开发的新闻管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的新闻管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
181 5
|
JavaScript 前端开发 容器
js之弹性布局使用方法
js之弹性布局使用方法
224 0
|
机器学习/深度学习 人工智能 搜索推荐
AI时代下的个人发展之路:通过多栈变革实现跨越式成长
随着人工智能(AI)技术的飞速发展,企业和个人面临着前所未有的机遇和挑战。在AI时代,多栈变革成为推动企业和个人发展的关键。对企业而言,AI不仅促进了数据驱动的决策和智能自动化,还推动了产品创新和业务流程优化。而对于个人,AI的崛起提供了通过跨界学习、掌握多项技能及使用AI工具提升效率的机会。本文探讨了AI如何通过多栈变革推动企业和个人的全方位发展,同时也分析了面临的挑战与未来展望。在这个智能化、数据化的时代,只有不断学习与适应的企业和个人,才能抓住AI带来的机遇,迎接更加智能化的未来。
|
11月前
|
存储 算法 Python
文件管理系统中基于 Python 语言的二叉树查找算法探秘
在数字化时代,文件管理系统至关重要。本文探讨了二叉树查找算法在文件管理中的应用,并通过Python代码展示了其实现过程。二叉树是一种非线性数据结构,每个节点最多有两个子节点。通过文件名的字典序构建和查找二叉树,能高效地管理和检索文件。相较于顺序查找,二叉树查找每次比较可排除一半子树,极大提升了查找效率,尤其适用于海量文件管理。Python代码示例包括定义节点类、插入和查找函数,展示了如何快速定位目标文件。二叉树查找算法为文件管理系统的优化提供了有效途径。
198 5
|
算法 vr&ar 计算机视觉
数据结构之洪水填充算法(DFS)
洪水填充算法是一种基于深度优先搜索(DFS)的图像处理技术,主要用于区域填充和图像分割。通过递归或栈的方式探索图像中的连通区域并进行颜色替换。本文介绍了算法的基本原理、数据结构设计(如链表和栈)、核心代码实现及应用实例,展示了算法在图像编辑等领域的高效性和灵活性。同时,文中也讨论了算法的优缺点,如实现简单但可能存在堆栈溢出的风险等。
619 0
|
数据可视化 Linux Android开发
Mock 工具与定制化
mitmproxy 是跨平台的开源代理工具,用于抓包和修改 HTTP/HTTPS 流量,支持 Python 脚本扩展。通过 mitmproxy、mitmweb 和 mitmdump,用户能进行交互式抓包、可视化分析和自定义数据处理。官网:[mitmproxy.org](https://mitmproxy.org)
|
JSON API 数据格式
Python实战演练之Python实现一个简单的天气查询应用
Python实战演练之Python实现一个简单的天气查询应用
|
存储 测试技术 开发工具
基础了解·创建第一个SwiftUI项目
基础了解·创建第一个SwiftUI项目
390 0