如何与参数对象签订合同?

时间:2010-08-12 11:27:06

标签: api

假设你有类型(接口/类)A 和A有

A.setX(String x) (and all gets)
A.setY(String y)
.
.

你有这个API:

save(A a);

save方法要求A设置X,Y和10个其他值,但其他一些属性是可选的。那么如何将保存方法告诉世界其他地方呢?

您可以假设调用者只知道方法的签名和文档。

1 个答案:

答案 0 :(得分:0)

根据您的应用程序的不同,您可能需要考虑将A设置为必须始终设置xy的不可变类型。然后,save方法将始终有效。

如果不能为save方法提供适当的前提条件(如果您的语言支持它们并且它们适合您的应用程序,可能会使用断言实现)。