最合适的地方因此,假如我们有Foo类具有属性FirstProp和SecondProp和ThirdProp。 商业上,SecondProp中允许的值取决于为FirstProp设置的值,ThirdProp允许的值取决于FirstProp和SecondProp的值。 最适合放这个逻辑的地方在哪里?物体状态验证
如果是在每个setter方法再有就是事实级用户可以设置他的另外两个之前ThirdProp,将我们还需要强制设置的属性然后顺序?这看起来并不理想。此外,如果我们要将对象的初始化限制在parmererized构造函数中,那么当我们将对象设计为值类型(结构体)时,由于结构体中的默认构造函数始终可用,因此这将不实用。
理解的任何输入。
如果我只是正确理解你,那么在更具体的类中进行这种检查就会违反LSP。考虑经典的矩形<-->平方的例子 – 2012-02-06 04:09:02
这是真的,取决于他的逻辑,它可能是LSP的违规。他的榜样确实很难确定。 – Michael 2012-02-06 12:59:28