敏捷设计简单说明
2017-10-27 09:07
134 查看
上一周入手一本大作,敏捷软件开发原则、模式与实践,刚开始接触这本书的时候,书中第一部分敏捷开发的相关介绍我只是快速地扫过,因为我还没有一各统筹计划的能力,我更关心地是如何写出优美的程序,所以我的关注点集中在开发实践上。
我将会把我看到的关于本书的内容以及部分java源码做个读书笔记,一方面加深自己的理解,另一方面,下次需要时可以快速找到相关理论。本书的源码后期将会上传到github上。
下面把书中关于敏捷设计方面的内容做个简单介绍:
敏捷开发:是以微小增量方式去迭代开发,在本书中采用测试驱动开发。
一个不好的软件会带来的问题如下:
僵化性:设计难以改变
单一的改动会导致有依赖关系的模块中的连锁改动
脆弱性:设计易于遭到破坏
在进行一个改动时,程序的许多地方可能就会出现问题
牢固性:设计难以重用
设计中包含对其他系统有用的东西,但是将其分离出来,难度大
粘滞性:难以做正确的事情
需要对原有设计进行破坏,才能进一步开发
不必要的复杂性:过分设计
包含有当前没有用的组成部分
晦涩性:混乱的表达
模块难以理解,代码不够清晰
不必要的重复
复制粘贴导致系统构建在许多重复的代码片段上
在我们设计软件过程中,有时候没有良好设计,也没有一次次去迭代,大部分时候是为了完成工作而工作,所以我参与以及接触的项目或多或少都有以上问题,给后期维护带来很大麻烦。
为解决上述软件开发过程中可能出现的各种各样问题,有一些原则可以遵循。
1.单一职责原则SRP
2.开放封闭原则OCP
3.Liskov替换原则LSP
4.依赖倒置原则DIP
5.接口隔离原则ISP
后续将会将这本书的内容一一详尽,接下来会对各个原则进行说明。
我将会把我看到的关于本书的内容以及部分java源码做个读书笔记,一方面加深自己的理解,另一方面,下次需要时可以快速找到相关理论。本书的源码后期将会上传到github上。
下面把书中关于敏捷设计方面的内容做个简单介绍:
敏捷开发:是以微小增量方式去迭代开发,在本书中采用测试驱动开发。
一个不好的软件会带来的问题如下:
僵化性:设计难以改变
单一的改动会导致有依赖关系的模块中的连锁改动
脆弱性:设计易于遭到破坏
在进行一个改动时,程序的许多地方可能就会出现问题
牢固性:设计难以重用
设计中包含对其他系统有用的东西,但是将其分离出来,难度大
粘滞性:难以做正确的事情
需要对原有设计进行破坏,才能进一步开发
不必要的复杂性:过分设计
包含有当前没有用的组成部分
晦涩性:混乱的表达
模块难以理解,代码不够清晰
不必要的重复
复制粘贴导致系统构建在许多重复的代码片段上
在我们设计软件过程中,有时候没有良好设计,也没有一次次去迭代,大部分时候是为了完成工作而工作,所以我参与以及接触的项目或多或少都有以上问题,给后期维护带来很大麻烦。
为解决上述软件开发过程中可能出现的各种各样问题,有一些原则可以遵循。
1.单一职责原则SRP
2.开放封闭原则OCP
3.Liskov替换原则LSP
4.依赖倒置原则DIP
5.接口隔离原则ISP
后续将会将这本书的内容一一详尽,接下来会对各个原则进行说明。
相关文章推荐
- 敏捷之简单设计文件收藏
- 设计模式简单说明
- 一个WinForm程序配置信息的简单模型和维护工具——设计说明
- [转]统一身份认证(CAS)简单说明与设计方案
- 敏捷开发追求简单设计之道
- 设计模式简单说明
- 敏捷思维-架构设计中的方法学(5)简单设计
- Java开发下的设计模式简单说明
- 设计模式简单说明
- iOS中的设计模式简单说明
- 设计模式简单说明
- 简单易懂实例说明如何设计子网掩码
- Java开发下的设计模式简单说明
- Java开发下的设计模式简单说明
- 概念设计.逻辑设计.物理设计.的简单说明
- 有幸加入skin设计小组,简单说明本blog样式及设置,抛砖引玉
- Java开发下的设计模式简单说明
- 概念设计.逻辑设计.物理设计.的简单说明
- 关于其它模块的设计,有非常多须要自己去构建和完毕,在这里就简单地举几个样例来看看其它模块的设计。我们要做的就是有更改password模块,客户选择模块和关于本软件模块。更改password模块用来更改管理员的password,客户选择对话框模块用来选择已加入的客户,关于本软件模块用来说明客户管理系统的一些必要信息和制作人的信息。
- 敏捷思维: 架构设计中的方法学(5)--简单设计