最合適的地方因此,假如我們有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