随笔分类 -  读书:《敏捷软件开发》 有感

记录阅读《敏捷软件开发》这本书的感悟
五大原则之----单一职责原则(SRP)
摘要:简述:一个类应该只有一个发生变化的原因。 这里,把类承担的“职责”,称之为“变化的原因”。一个类只承担一个职责,如果一个类承担了多个职责,那么引起这个类变化的原因就会有许多。有时候,无法确定以一个类中,是否包含多个职责,不知道是否需要进行职责分离。这时候有个原则:仅当泪真的发生变化时,进行分离才有意义。如果一个类有多个职责,但是在实际系统中,确定没有发生变化,那么不需要分离,这时候进行分离,只会造成不必要的复杂性臭味。即:如果没有变化的征兆,那么英勇SRP原则或者其它原则,都是不明智的。 阅读全文

posted @ 2012-04-10 18:15 pjh123 阅读(326) 评论(0) 推荐(0)

五大原则之----里氏替换原则(LSP)
摘要:阐述:子类型(subtype)必须能够替换掉它们的基类型(basetype)先提出一个问题:正方形是不是一种特殊的长方形(IS - A关系)?先不要回答这个问题,看下面的分析。理解:LSP原则的一个例子,假如有个people的基类,两个字类man类和woman类,都继承于people类。那么针对people类的任何操作,比如fun吃饭、fun睡觉、fun走路,对于man类和woman类都成立。这个很好理解,不管是man还是woman,归根结底,还都是一个people。(一)正常思维如下例子:class CShape{public:CShape(void);~CShape(void);publi 阅读全文

posted @ 2012-04-07 16:29 pjh123 阅读(6180) 评论(0) 推荐(0)

面向对象设计的五大原则
摘要:面向对象设计有五大原则,分别是:1、单一职责原则2、开放-封闭原则3、里氏替换原则4、依赖倒置原则5、接口隔离原则这五项原则,说起来很简单,大家都能理解。但是实际设计时,有没有考虑使用,能不能准确使用,不知道有多少人能做到。以下几篇文章,认真分析每项原则,挖掘原则隐藏的道理。 阅读全文

posted @ 2012-04-07 16:26 pjh123 阅读(393) 评论(0) 推荐(0)

什么是设计?怎么进行设计?
摘要:1、什么是设计 设计不是一个结果,而是一个过程。 为什么这么说呢?如下:2、软件开发的本质是:需求总是在变化的,而且还会一直变下去。 将软件腐化、退变的原因归结于需求的变化,是一种推卸责任。---------------阅读 Copy程序的演化有感。3、程序开发者,或者团队,不是从一开始设计该模块时,就试图预测程序将如何变化。相反,团队是以最简单的方法编写该模块。仅当需求最终确实变化时,才修改模块的设计,使之对这种变化具有弹性。这时敏捷软件开发的灵魂所在。注意:(1)、“设计”这个行为介入的时机,不是从一开始,而是在需求发生变化的时候。(2)、还要说明的是,此次设计的目的,不仅是适应此次变化, 阅读全文

posted @ 2012-04-01 08:52 pjh123 阅读(838) 评论(0) 推荐(0)