自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 敏捷软件开发学习随笔(六)

接口隔离原则(ISP) 这个原则适用于解决“胖”接口的缺点。类的“胖”接口可以分解成多组方法,而每组方法对应于不同的客户程序。使得客户程序之间可以互不干扰。 接口污染 每当在子类中添加方法,使得基类中也要加入该方法,使得基类变“胖”,那么就是产生了接口污染。因为基类中每加入一个方法,派生类就必须实现或者定义一个缺省实现,带来维护和重用方面的问题。 分离客户就是分离接口 1111 2222 ...

2019-12-15 10:34:55 98

原创 敏捷软件开发学习随笔(五)

依赖倒置原则(DIP) 高层模块不应该依赖于底层模块,二者都应该依赖于抽象 抽象不应该依赖于细节,细节应该依赖于抽象 高层模块是需要能重用的策略选择及业务模型,而如果高层模块依赖于低层,那么修改低层模块的时候会影响到高层模块,迫使它们也做出相应改变,那么这个高层模块也就做不到重用。因此 ...

2019-10-21 22:06:19 124

原创 敏捷软件开发学习随笔(四)

Liskov替换原则(LSP) 子类型必须能够替换掉基类,即:基类A有子类B,需要能将B的对象以A的类型调用。 而继承是IS-A(“是一个”)的关系。若一个新的类B与已知类A的对象之间满足IS-A,那么这个新的类B应该从已知类A派生。 该原则需要注意 有效性并非本质属性。一个模型,不能孤立的看,而是需要通过客户的程序来表现。通常会且仅会预测那些明显违反LSP的情况,而其他问题是直到出现相关的脆弱...

2019-10-18 22:29:06 88

原创 敏捷软件开发学习随笔(三)

开放—封闭原则 此原则适用于当需要改动程序某一处模块,而导致与之相关的部分模块也需要进行改动的状态。 遵循开放—封闭原则的模块具备以下两个特性: 对扩展是开放的。当需求更改时,我们可以对模块进行扩展,使得代码能满足新需求 对于更改是封闭的。也就是扩展模块的时候,不需要改动模块的源代码及相关代码,只需要新增新代码即可。 为了满足以上两个看上去矛盾的特性,则是需要我们将模块给抽象化。创造出一个可以...

2019-10-07 13:36:39 121

原创 敏捷软件开发学习随笔(二)

模块功能单一性 不知道理解是否正确,仅作为记录,待实践确认。 书中把职责定义为“变化的原因”。即如果有多于一个冬季去改变一个类,那么这个类就具有多于一个职责。于是我回想了下自己写的游戏,发现这么做几乎不可能。可能书是基于java语言编写的原因? 一个类只实现一个功能不行,那就改为一个方法/函数只实现一个功能。例如:AI分析,这个类需要实现初始化AI分析类的成员变量、根据获得的牌进行可用牌型归类、...

2019-09-27 23:38:54 146

原创 敏捷软件开发学习随笔(一)

敏捷开发概论 良好的团队沟通、团队氛围及好用的工具 项目的开发、更新需要编写相应的精简文档,用于描述系统的大体结构以及概略描写设计原理 项目制作计划应当定得较为短期,一周甚至更短,使得计划能更为灵活的适应新需求 先构建好能让项目运行的框架,之后每新增或修改一个功能均需要进行单元测试 重构 项目的开发过程中,由于会不断的增加新功能、新特性,使得最初的代码会变得越来越难以维护。因此,每次新增功能、...

2019-09-16 15:18:27 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除