开发设计
y小雨
这个作者很懒,什么都没留下…
展开
-
敏捷软件开发学习随笔(六)
接口隔离原则(ISP)这个原则适用于解决“胖”接口的缺点。类的“胖”接口可以分解成多组方法,而每组方法对应于不同的客户程序。使得客户程序之间可以互不干扰。接口污染每当在子类中添加方法,使得基类中也要加入该方法,使得基类变“胖”,那么就是产生了接口污染。因为基类中每加入一个方法,派生类就必须实现或者定义一个缺省实现,带来维护和重用方面的问题。分离客户就是分离接口11112222...原创 2019-12-15 10:34:55 · 113 阅读 · 0 评论 -
敏捷软件开发学习随笔(五)
依赖倒置原则(DIP)高层模块不应该依赖于底层模块,二者都应该依赖于抽象抽象不应该依赖于细节,细节应该依赖于抽象高层模块是需要能重用的策略选择及业务模型,而如果高层模块依赖于低层,那么修改低层模块的时候会影响到高层模块,迫使它们也做出相应改变,那么这个高层模块也就做不到重用。因此...原创 2019-10-21 22:06:19 · 136 阅读 · 0 评论 -
敏捷软件开发学习随笔(四)
Liskov替换原则(LSP)子类型必须能够替换掉基类,即:基类A有子类B,需要能将B的对象以A的类型调用。而继承是IS-A(“是一个”)的关系。若一个新的类B与已知类A的对象之间满足IS-A,那么这个新的类B应该从已知类A派生。该原则需要注意有效性并非本质属性。一个模型,不能孤立的看,而是需要通过客户的程序来表现。通常会且仅会预测那些明显违反LSP的情况,而其他问题是直到出现相关的脆弱...原创 2019-10-18 22:29:06 · 102 阅读 · 0 评论 -
敏捷软件开发学习随笔(一)
敏捷开发概论良好的团队沟通、团队氛围及好用的工具项目的开发、更新需要编写相应的精简文档,用于描述系统的大体结构以及概略描写设计原理项目制作计划应当定得较为短期,一周甚至更短,使得计划能更为灵活的适应新需求先构建好能让项目运行的框架,之后每新增或修改一个功能均需要进行单元测试重构项目的开发过程中,由于会不断的增加新功能、新特性,使得最初的代码会变得越来越难以维护。因此,每次新增功能、...原创 2019-09-16 15:18:27 · 121 阅读 · 0 评论 -
敏捷软件开发学习随笔(二)
模块功能单一性不知道理解是否正确,仅作为记录,待实践确认。书中把职责定义为“变化的原因”。即如果有多于一个冬季去改变一个类,那么这个类就具有多于一个职责。于是我回想了下自己写的游戏,发现这么做几乎不可能。可能书是基于java语言编写的原因?一个类只实现一个功能不行,那就改为一个方法/函数只实现一个功能。例如:AI分析,这个类需要实现初始化AI分析类的成员变量、根据获得的牌进行可用牌型归类、...原创 2019-09-27 23:38:54 · 161 阅读 · 0 评论 -
敏捷软件开发学习随笔(三)
开放—封闭原则此原则适用于当需要改动程序某一处模块,而导致与之相关的部分模块也需要进行改动的状态。遵循开放—封闭原则的模块具备以下两个特性:对扩展是开放的。当需求更改时,我们可以对模块进行扩展,使得代码能满足新需求对于更改是封闭的。也就是扩展模块的时候,不需要改动模块的源代码及相关代码,只需要新增新代码即可。为了满足以上两个看上去矛盾的特性,则是需要我们将模块给抽象化。创造出一个可以...原创 2019-10-07 13:36:39 · 140 阅读 · 0 评论