|
|
|
@ -0,0 +1,52 @@
|
|
|
|
|
# <center>设计模式概述</center>
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
### 编程方法论
|
|
|
|
|
|
|
|
|
|
  编写高质量代码的方法论,包含面向对象、设计原则、设计模式、编程规范、重构技巧等
|
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
### 代码质量评价
|
|
|
|
|
|
|
|
|
|
  可读性、可维护性、灵活性、简洁性、可复用性、可测试性、可扩展性。有很多工具可以做代码审计,评价代码的抽象、耦合程度。
|
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
### 六大设计原则
|
|
|
|
|
|
|
|
|
|
* 单一职责原则
|
|
|
|
|
* 开放封闭原则
|
|
|
|
|
* 里氏替换原则
|
|
|
|
|
* 接口隔离原则
|
|
|
|
|
* 依赖倒转原则
|
|
|
|
|
* 迪米特法则
|
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
### 设计模式
|
|
|
|
|
|
|
|
|
|
设计模式相关书籍,<设计模式:可复用面向对象软件的基础.pdf>
|
|
|
|
|
设计模式可大致分为三类,创建型、结构性、行为型。
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
### UML图
|
|
|
|
|
|
|
|
|
|
  统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。
|
|
|
|
|
|
|
|
|
|
##### UML的分类
|
|
|
|
|
|
|
|
|
|
  静态结构图: 类图、对象图、组件图、部署图
|
|
|
|
|
  动态行为图: 状态图、活动图、时序图、协作图、构件图等。
|
|
|
|
|
|
|
|
|
|
在类的UML图中,使用长方形描述一个类的主要构成,长方形垂直地分为三层,依次放置类的名称、属性和方法。+表示public、-表示private、#表示protected、不带符号表示默认修饰符。抽象类及抽象方法都用斜体字表示,接口用<<Interfact>>表示。
|
|
|
|
|
|
|
|
|
|
##### UML类图中类关系的表述
|
|
|
|
|
|
|
|
|
|
*类实现接口 虚线、空心三角箭头
|
|
|
|
|
*泛化(单向、双向关联、自关联) 实线、空心三角箭头
|
|
|
|
|
*聚合(A持有B,B在A的构造方法中new) 实线、空心方块
|
|
|
|
|
*组合(A持有B,B为注入的对象) 实线、实心方块
|
|
|
|
|
*依赖(A对象的某个方法某个入参为B对象) 虚线、虚线箭头
|
|
|
|
|
|
|
|
|
|
<br />
|