目的
几乎是程序员就都知道或者了解设计模式,但大部分小伙伴写代码总是习惯于一把梭。
无论多少业务逻辑就一个类几千行,这样的开发也可以归纳为三步;定义属性、创建方法、调用展示,Done!只不过开发一时爽,重构火葬场。
好的代码不只为了完成现有功能,也会考虑后续扩展。在结构设计上松耦合易读易扩展,在领域实现上高内聚不对外暴漏实现细节不被外部干扰。而这就有点像家里三居(MVC)室、四居(DDD)室的装修,你不会允许几十万的房子把走线水管裸漏在外面,也不会允许把马桶放到厨房,炉灶安装到卫生间。
其实有一部分人并没有仔细阅读过设计模式的相关书籍和资料,但依旧可以编写出优秀的代码。这主要是由于在经过众多项目的锤炼和对程序设计的不断追求,从而在多年编程历程上提炼出来的心得体会。而这份经验最终会与设计模式提到的内容几乎一致,同样会要求高内聚、低耦合、可扩展、可复用。你可能也遇到类似的经历,在学习一些框架的源码时,发现它里的某些设计和你在做开发时一样。
认识UML
a.什么是UML?
UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。
b.为什么要用uml
通过使用UML使得在软件开发之前, 对整个软件设计有更好的可读性,可理解性,从而降低开发风险。同时,也能方便各个开发人员之间的交流。
c.UML图中有哪些内容,表示什么含义?
整体UML图
符合 | 含义 | 示列 |
---|---|---|
+ | 代表 public | + publicField;String |
- | 代表 private | - privateField;int |
# | 代表 protected | # protectedField;double |
~ | 代表 default | ~ defaultField;char |
下划线 | 代表 static | + staticField:char |
*斜体* | 代表abstract | - privateField;int |
*:后边String* | 代表属性类型或者返回值 | - privateField;int |
示列
更详细的讲解详见视频教程(建议电脑观看清晰)https://www.bilibili.com/video/BV1eR4y1A726?spm_id_from=333.999.0.0