分享,交流,提升

Share Communication Promotion

周六OOAD培训

尽管抱怨的声音很多, 公司还是把研发中心OOAD的培训安排在了周六、周日。于是乎这个周末变得和平常一样没有了特色,睡眼惺忪的赶到了培训地点,在一种天地混沌的状态下开始了一天的培训课程。
      OOAD虽然也是老生常谈,但是培训老师确实还没有让人太过失望,虽然从上午9:00到下午5:30长达7个小时的培训中大部分内容都是耳熟能详,但是下午4:30到5:10这短短的40分钟让我对这个培训的评价着实提高了不少,对于4种类之间关系的介绍确实让我对原有的OO的理解多了几分感性上的深刻。
     1.Dependency(依赖):这个应该也是很熟悉的描述类之间关系的一种概念,但是在对应的代码实现上这种关系会表现为依赖类的某个方法以被依赖类作为参数或返回值
 
     2.Association(关联):这个应该算是很常见的一种描述类之间关系的概念,在对应代码的实现上这种关系表现为关联类具有被关联类型的成员变量,同时在创建该关联类的实例的时候,该被关联类型的成员变量不是在构造函数的阶段来初始化,而是该成员变量所在类实例化之后通过get或set方法来进行初始化
 
    3.Aggregation(聚合):这种类之间关系的代码实现表现为关联类不但具有被关联类型的成员变量,同时该成员变量的初始化是在类的构造函数内部完成的,值得注意的是,该成员变量初始化的依据是由同类型的构造函数的参数直接赋值完成,该成员变量所引用的实例对象的生命周期并不依附于该成员变量所在的类实例的生命周期
 
   4.Composition(组合):这种类之间关系的代码实现表现为关联类不但具有被关联类型的成员变量,同时该成员变量的初始化是在其所在类的实例化阶段完成的(如构造函数中或者成员变量的定义时),该成员变量实例的生命周期同它所在的类实例是血脉交融,生生相息
 
   4种关系从1到4由弱渐强,这种基于代码实现来对4种关系所作的剖析相对我以前的理解无疑是更进一步,也算是对周末损失的一种小小补偿。

posted on 2005-12-20 10:36 stevep 阅读(88) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: