你如何定义一个接口,知道它一旦发布就应该是不可变的?

时间:2009-05-26 22:21:10

标签: interface

任何开发人员都知道代码是生物,那么在界面发布之前可能无法识别相当多的功能时,如何定义“完整”界面呢?

5 个答案:

答案 0 :(得分:3)

测试很多。我从来没有遇到过这个特殊问题的灵丹妙药 - 根据消费者的特殊需求和项目的目标,有不同的策略 - 例如,你是微软发布ASP.NET MVC框架,还是你正在构建一个内部LoB应用程序?但最简单的是,通过测试你永远不会出错。

通过测试,我的意思是使用接口来实现功能。您正在测试合同以确定它是否能满足需求。为您可以想到的界面提供尽可能多的不同用途,并尽可能地实施它们。其余的白板,它应该变得清楚缺少什么。我会说对于一个给定的“失踪成员”,如果你没有在3-5次迭代中击中它,你可能不需要它。

答案 1 :(得分:1)

版本号。

定义“完整界面”。称之为1.0版本。

解决问题。称之为2.0版本。

他们是分开的。它们在功能上重叠,但它们是分开的。

是的,你增加了支持两者的努力。也就是说,直到你弃用1.0,并且 - 最终 - 停止支持。

答案 2 :(得分:0)

只是让你最合理地猜测未来,如果你需要更多创建你的界面的第二版。

答案 3 :(得分:0)

你不能在一次性释放中这样做。 您需要反馈。

您可以做的是首先制作一个干净的界面,提供您的图书馆应提供的所有功能;然后将其公开给您的用户群以供实际使用;然后使用反馈作为指导来更新你的界面 - 不添加辅助功能/类以外的功能 - 直到它在界面上开始稳定。

您不能仅仅依靠经验/良好实践。它确实有帮助,但它永远不够。 您只需要反馈

答案 4 :(得分:0)

确保接口或接口技术(如RPC,COM,CORBA等)具有明确定义的升级和增强接口机制。

例如,Microsoft经常有MyInterface,其次是MyInterfaceEx,然后是MyInterfaceEx2等,等等。

其他系统有一种方法可以查询和协商不同版本的接口(请参阅DirectX)。

相关问题