敏捷设计及原则一二

这周的任务是《敏捷软件开发》第二部分第7-9章内容,主要介绍了敏捷设计中软件腐化的表现和我们应该遵守的行为,敏捷开发所需要遵循的原则:单一职责原则(SRP)和开放-封闭原则(OCP)。

一、什么是敏捷设计?

敏捷设计是一个过程,它是一个持续的应用原则、模式以及实践来改进软件的结构和可读性的过程。

作用:致力于保持系统设计在任何实践都尽可能的简单,干净以及富有表现力。

二、敏捷设计中软件腐化表现在以下几个方面:

1. 僵化性。难以对软件进行改动,即使是简单的改动,也会导致相关依赖关系的模块中连锁反应,所以说必须要改动的东西越多,设计就越僵化。

2. 脆弱性。指的是进行一个改动时,程序的许多地方就可能给出现问题,通俗一点的说就是修改一个bug之后引出了其他的bug。

3. 牢固性。设计中包含了对其他系统有用的部分,但是要把这些部分从系统中分离出来所需要的努力和风险是巨大的。

4. 粘滞性。通常有两种:

软件的粘滞性:做正确的事情比做错误的事情要困难。

环境的粘滞性:开发环境迟钝、低效。

5. 不必要的复杂性。设计中包含有当前没有用的组成部分。

6. 不必要的重复。当系统中有重复代码时,对系统进行改动会变得困难。

7. 晦涩性。指模块难以理解,需要持续的保持代码清晰并富有表现力。

软件项目中最不稳定的就是需求,我们作为一个程序员必须接收这个事实。

三、敏捷设计应该怎样做?

1. 遵循敏捷实践去发现问题

2. 应用设计原则去诊断问题

3. 应用适当的设计模式去解决问题

四、单一职责原则SRP

就一个类而言,应该仅有一个引起它变化的原因。这里的职责定义为“变化的原因”

五、开放-封闭原则OCP

软件实体(类、模块、函数等等)应该是可以扩展的,但是不可修改的。

即就是:对于扩展是开放的,对于修改是封闭的。

你可能感兴趣的:(敏捷设计及原则一二)