前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >敏捷软件开发学习笔记

敏捷软件开发学习笔记

原创
作者头像
矿泉水
发布2018-05-11 12:04:33
7201
发布2018-05-11 12:04:33
举报
文章被收录于专栏:风中追风风中追风风中追风

敏捷设计:敏捷设计是一个过程,不是一个事件,它是一个持续的应用原则、模式以及实践来改进软件的结构和可读性的过程,它致力于保持系统设计在任何实践都尽可能得简单,干净,及富有表现力;

也可以理解为:在敏捷开发的过程中,都尽量使用敏捷开发的原则,模式来实践,改进软件的结构和可读性的一个过程

当软件发出下面任何一种气味的时候就表明软件正在腐化,

1、僵化性:很难对系统进行改造,因为一改动全身;

2、脆弱性:对系统的改动会导致系统中和被改动的地方在概念

上无关的许多地方出现问题;

3、 牢固性:很难解开系统的纠结,使之成为一些可在其他系统中重用的组件;

4、粘滞性:做正确的事比做错误的事要困难;

5、不必要的复杂性:设计中包含有不具有直接好处的基础结构;

6、不必要的重复:设计中包含有重复的结构,而这些重复的结构是可以进行抽象的统一的;

7、晦涩性:代码的可读性很差,让人难以理解,没有很好的表现出意图

单一职责原则(SRP):一个类最好只有一个职责;

开放—封闭原则(LSP):软件实体(类、模块、函数等等)应该是可以扩展的,但是不可修改;

特征:①对其扩展开放,当需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为;

②对于更改是封闭的,必须更改模块的源代码;

替换原则(LSP):子类型必须能够替换掉他们的基类型;

依赖倒置原则(DIP):①高层模块不应该依赖于底层模块;二者都应该依赖于抽象

②抽象不该依赖于细节,细节应该依赖于抽象;

依赖于抽象:程序中所有的依赖关系都应该终止与抽象类和或者接口:

① 任何变量都不应该持有一个指向具体类的指针或者引用;

②任何类都不应该从具体类派生出来;

③任何方法都不应该覆写它的任何基类中已经实现了的方法;

接口隔离原则(ISP):不强迫其他模块依赖于它们不用的方法;

当一个模块依赖于一个含有它不适用的方法的类,但其他模块却要使用该方法,那么当这个类因为需求改变时,就会影响到这个模块;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档