敏捷设计以及原则
敏捷设计:是一个持续的应用原则,模式以及实践来改进软件的结构和可读性的过程
先了解什么是拙劣的软件设计,即具备以下特点的软件设计:
软件设计的“臭味”
-
僵化性:设计难以改变
-
脆弱性:设计易于遭到破坏
-
牢固性: 设计难以重用
-
粘滞性:难以做正确的事情
-
不必要的复杂性:过分设计
-
不必要的重复:过分拷贝粘贴
-
晦涩性:混乱表达
为了消除这些臭味,采用以下原则:
- SRP:单一职责原则
- OCP:开放,封闭原则
- LSP:liskov替换原则
- DIP:依赖倒置原则
- ISP:接口隔离原则
SRP:把职责分离到单独的类中,因为每一个职责都是变化的一个轴线。 用户需求变化---->类职 责变化。
职责:引起变化的原因
业务规则决不应该和对于持久化的控制耦合在一起
OCP:the open-closed principle
- 对于扩展是开放的(open for extension)
- 对于更改是封闭的(closed for modification)
理解:模块的行为可扩展,应用需求改变,对模块进行扩展,使其具有满足那些改变的新行为
但对模块行为进行扩展时,不必改变模块的源代码或二进制代码
OCP是面向对象设计的核心所在(灵活性,可重用性,可维护)
需要对程序中呈现频繁变化的部分做出抽象
网友评论