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

敏捷软件开发学习笔记

作者头像
用户2141593
发布2019-02-20 11:05:53
5420
发布2019-02-20 11:05:53
举报
文章被收录于专栏:Java进阶

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年06月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

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