【发布时间】:2010-06-10 21:42:21
【问题描述】:
在 C 中有两种明显的方法可以提供对内部属性值的外部访问(A)提供一个通用接口,该接口接受随时间变化的属性列表(一些添加/一些死亡)或(B)一个特定接口每个属性。
示例 A:
int x_get_attribute_value(ATT att)
{
if (a) return a_val;
if (b) return b_val;
}
示例 B:
A_Enum x_get_a_type_attribute() {}
B_Enum x_get_b_type_attribute() {}
我记得 Eclipse 的 API 非常像 A(我可能是错的)。我不能做的是提出一个令人信服的论据来反对。
A 是干净的 - 任何用户都无法找到属性值。它可以干净利落地进化而不会留下死接口。
B 有一定程度的类型检查 - 这是 C 枚举!
是否有一个重要的论点可以使平衡远离舆论?
【问题讨论】: