面向对象分析与设计学习笔记

1.软件开发过程:需求->用例->UML表示的类图->实现。分析与设计主要难点在把用例等映射到类图部分,而从类图到实现,只是简单的填空工作,可不需要讨论。有了类图,就可以写单元测试用例了,以单元测试用例此作为验收标准。软件是经常变化的,但变化应该从需求文档开始修改,重复整个过程,而不要期望软件修改只在程序上修改,这是比较规范的开发方式。

       2.软件编码设计时,多考虑将变化和不变的部分分开,即使它们是属于同一个对象,也可以考虑试着把经常变化的属性和不变的属性分开。在一个类中,若有某个方法可能因其它类的改变而面临着改变时,把变化部分提出来,写成函数对象比较好!

       3.UML中的关联(单向"->"箭头)与聚合(单向"◇"箭头)。共同点是二者都需要在类1中持有类2的引用,但区别是:关联是两个相互独立的类,并具有相互之间的组成与包含关系,更多用来表现业务关系(比如在系统中,声音识别器持有一个门的引用,用来控制门的开关,这二者没有组成关系,只有业务关系),而聚合更多表现的是实体之间的关系,是部分组成整体的意思,其中实心的聚合表示该部分不可或缺(比如Person类有Name类的引用,二者是不可或缺的聚合关系)。

你可能感兴趣的:(面向对象)