|
1
2
聚合,即指向,has-a-handle,比组合(即包含)具有更多的自由度。 聚合可能出错的地方:子对象被破坏得太快,它泄漏,链接从未建立,另一个对象认为它拥有独占所有权并修改了它。
一般来说,更喜欢构图。 这个 易写性 试验次数 必须有良好的覆盖面。如果您的测试策略导致您做出增加故障模式的设计决策,那么它将反向工作。 单元测试显然不会暴露集成中的缺陷。您最好使用客户机对象上的测试子集测试子对象。记录每个测试如何将特定行为委托给子对象,以及如何在其自然环境中对其进行有效和准确的测试。 当然,我知道有很多管理者会有不少于1000行的代码,这些代码除了绑定和破坏整个设计之外什么也不做。 |
|
|
2
0
我的职位的定义如下 here ,因为关联、聚合和组合有多个定义。 我觉得每个人都有自己的用途:
组合:由组合设计模式使用 关联:由许多设计模式使用,例如Observer 它实际上是上下文相关的。 谈到测试,我认为测试更松散耦合的组件更容易。聚合促进的设计相对来说比基于聚合的设计更容易耦合。因为测试需要用实验/测试提供的对象配置代码组件。我想说的是,聚合更好。您可以灵活地使用不同的测试对象配置对象。 |
|
3
0
如果您对构成组合的元素进行单元测试以演示独立的正确性,那么在测试组合单元时,您只需要测试组合单元的功能,而不必担心应用于组合元素的测试覆盖率。
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |