我的类有十个属性,必须先设置才能使用该类.
我想强制(或者至少非常强烈地鼓励,最好是警告)我的类的用户在调用类的任何方法之前设置这些属性.
我可以使用一个构造函数,它将所有属性的值作为参数,但我不想这样,因为很多参数都很难处理.
我可以检查类的所有方法中的属性值,但这太晚了 - 我想要编译时检查.
我能做什么?
也许您可以使用流畅的界面使用Builder Pattern的一些变体.你可以有一些步骤或某些你不能跳过某些属性的东西.例如,要设置构建器的属性Y,您将需要由设置属性X的方法返回的对象.
new Builder().SetX(10).SetY(20) //compiles because SetX returns a class with SetY method
new Builder().SetY(20) //does not compile because the builder only has SetX method
Run Code Online (Sandbox Code Playgroud)
为避免出现多个类,您可能会有一个具有多个接口的类,每个接口只暴露一个方法.
另一方面,即使有很多参数,我也可能会去构造函数
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |