敏捷软件开发学习笔记

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

【Python 第41课】 用文件保存游戏(3)

你的小游戏现在已经可以保存成绩了,但只有一组成绩,不管谁来玩,都会算在里面。所以今天我还要加上一个更多的功能:存储多组成绩。玩家需要做的就是,在游戏开始前,输入...

2574
来自专栏编程

老丁独家!前方高能,与“程序崩溃”的第一次邂逅!

本阶段课程适合2年级以上刚开始接触EV3机器人的同学们。 本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内...

1919
来自专栏申龙斌的程序人生

零基础学编程021:获取股票实时行情数据

春节期间重写了“笑来投资演练程序1.0版”这个程序,可以每个月自动更新几支股票的行情数据。程序的功能不复杂,但是编程新手想实现它仍有相当的困难。为了短时间内完成...

51512
来自专栏Java程序员的架构之路

一个两年的程序员,面5家斩获点我达,网易offer的面试总结

毕业到现在也近两年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...

2894
来自专栏黑泽君的专栏

Java语言的发展史

  Java的名字来自于一种咖啡的品种名称,所以Java语言的Logo是一杯热气腾腾的咖啡。

1581
来自专栏程序员互动联盟

面向对象语言真有那么棒嘛?

在我的整个编程生涯中,我一直反复思考关于面向对象编程的问题:用还是不用。不过,去年我终于确定下来,决定不再使用面向对象编程,下面我会说明具体原因。 先讲一个小...

3593
来自专栏Java架构

一个两年的程序员,面5家斩获点我达,网易offer的面试总结总结

毕业到现在也近两年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...

1021
来自专栏斑斓

剖析响应式编程的本质

基于Actor的响应式编程计划分为三部分,第一部分剖析响应式编程的本质思想,为大家介绍何谓响应式编程(Reactive Programming)。第二部分则结合...

4546
来自专栏牛客网

Java面经:小米暑期实习+秋招真题分享一面 1小时7分钟总结一面二面三面总结

秋招结束,总结了一下从寒假回来开始的实习生招聘和秋招面经,过来回馈一下牛客网。 上学期寒假回来就开始投简历,找人内推的小米,过几天后约时间面试,部门未知。 一面...

9406
来自专栏美团技术团队

Hades:移动端静态分析框架

作为全球最大的互联网 + 生活服务平台,美团点评近年来在业务上取得了飞速的发展。为支持业务的快速发展,移动研发团队规模也逐渐从零星的小作坊式运营,演变为千人级研...

973

扫码关注云+社区

领取腾讯云代金券