最近在做渲染部分的重构工作.单靠脑袋想很难清晰,于是想到了先画类图,之后在类图上做修改,直接导出结论之后实现.
画类图的时候,关于依赖和关联,以及聚合和组合总是不清晰.现在有了结论,记录下来,以后再糊涂直接看自己记录下来的.
依赖:A依赖B,A的方法中需要类B作为参数.如:
void A::DoSth(B * pB) { pB->DoSth() ; }关联:A关联B,B作为成员变量出现在A中.如:
public Class A { private: B * pB ; }分割线------------------------------------
聚合:电动车A,电动车电池B.A组合B,A坏了,B还可以继续用.
组合:人类A,生殖器B.A聚合B,B的生存期同A一致.当然,此处排除人为干预.
以上只是对于容易混淆的部分做了区分用的说明,凸显区别.看过很多文章大篇幅说依赖或是关联本身的含义,搞得我很迷糊.所以在这直接剔除那些内容.