You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# <center>设计模式概述</center>
<br />
### 编程方法论
&emsp;&emsp;编写高质量代码的方法论,包含面向对象、设计原则、设计模式、编程规范、重构技巧等
<br />
### 代码质量评价
&emsp;&emsp;可读性、可维护性、灵活性、简洁性、可复用性、可测试性、可扩展性。有很多工具可以做代码审计,评价代码的抽象、耦合程度。
<br />
### 六大设计原则
&emsp;&emsp;设计模式中主要有六大设计原则简称为SOLID是由于各个原则的首字母简称合并的来(两个L算一个,solid 稳定的)。
* 单一职责原则 Single Responsibitity Principle
* 开放封闭原则 Open Close Principle
* 里氏替换原则 Liskov Substitution Principle
* 接口隔离原则 Interface Segregation Principle
* 依赖倒转原则 Dependence Inversion Principle
* 迪米特法则 Least Knowledge Principle
<br />
### 设计模式
设计模式相关书籍,<设计模式:可复用面向对象软件的基础.pdf>
设计模式可大致分为三类,创建型、结构性、行为型。
![设计模式分类](./%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E5%88%86%E7%B1%BB.png)
<br />
### UML图
&emsp;&emsp;统一建模语言Unified Modeling LanguageUML是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。
##### UML的分类
&emsp;&emsp;静态结构图: 类图、对象图、组件图、部署图
&emsp;&emsp;动态行为图: 状态图、活动图、时序图、协作图、构件图等。
在类的UML图中使用长方形描述一个类的主要构成长方形垂直地分为三层依次放置类的名称、属性和方法。+表示public、-表示private、#表示protected、不带符号表示默认修饰符。抽象类及抽象方法都用斜体字表示接口用&lt;&lt;Interfact&gt;&gt;表示。
##### UML类图中类关系的表述
*类实现接口 虚线、空心三角箭头
*泛化(单向、双向关联、自关联) 实线、空心三角箭头
*聚合(A持有BB在A的构造方法中new) 实线、空心方块
*组合(A持有BB为注入的对象) 实线、实心方块
*依赖(A对象的某个方法某个入参为B对象) 虚线、虚线箭头
<br />