敏捷软件开发
哈希马普
软件开发给我最大的启发就是——开源
展开
-
敏捷软件开发总结——单一职责原则(SRP)
为什么要遵循单一职责原则就一个类而言,应该仅有一个引起它变化的原因。为何要把俩个职责分离到不同的类呢?因为每个职责都是变化的一个轴线,当需求变化时,该变化会反映为类的职责的变化。如果一个类承担的多个职责,多个职责会有耦合性,那么引起它变化的原因也会有多个。一个职责可能会削弱和抑制其它职责,这样就形成了脆弱性设计。什么是职责在SRP中职责定义为“变化的原因”,如果你能够想到多于一个动机去...原创 2019-05-14 15:39:48 · 127 阅读 · 0 评论 -
敏捷软件开发总结——开放-封闭原则(OCP)
开放-封闭原则(OCP)的意义任何系统在其生命周期中都会发生变化,那么怎样的设计才能面对需求变化而保持相对稳定?著名的开放-封闭原则(OCP)为我们提供了指引。如果程序中的一处改动就会造成连锁反应,导致一系列相关模块改动,那么设计就具有僵化性。OCP建议我们对此重构,这样以后改动就只需要添加新的代码,而不必修改已经正常运行的代码。关键是抽象策略(Strategy)模式和模板方法(Templ...原创 2019-05-14 19:32:39 · 495 阅读 · 0 评论 -
敏捷软件开发总结——Liskov替换原则(LSP)
Liskov替换原则(LSP)的意义OCP的主要机制是抽象和多态,而支持抽象和多态的关键机制之一是继承。是什么设计规则在支配着这种特殊的继承用法呢?最佳的继承层次的特征又是什么呢?怎样的情况会使我们创建的类层次结构掉进不符合OCP的陷阱中去呢?这些正是Liskov替换原则(LSP)要解决的问题。Liskov替换原则(LSP)的定义若对每个类型S的对象s,都存在一个类型T的对象t,使得在所有...原创 2019-05-21 23:13:00 · 336 阅读 · 0 评论 -
敏捷软件开发总结——什么是敏捷设计
敏捷开发的作用和设计方法关于敏捷开发,大家可能会有如下疑问:1、敏捷开发往往微小增量迭代,那么会不会忽视全局视图?答:在敏捷开发中,全局视图和软件是一起演化,因为预测需求是徒劳的,所以更应该关注当前需求。2、如何设计,确保软件具有灵活性、可维护和重用性的结构?答:(1)迭代设计,不断改进使得它尽可能适合当前系统,确保灵活性。(2)避免臭味,确保可维护。(3)遵循面向对象设计原则,确...原创 2019-05-12 23:37:00 · 2008 阅读 · 0 评论