tell-dont-ask

    2熱度

    4回答

    說好了的情況下,我有兩個對象: Map Table 目前,我有這樣的事情: Map.MapTable(Table tab); <- Static MapTable method. 用來檢查是否該表可映射,然後映射它,但也必須檢查空表。 會更有意義要做到這一點: Table tab = new Table(); Map mymap = tab.MapTable(); 這樣的表格負責檢

    5熱度

    3回答

    這些年來,我總是忽略了「告訴,不要問」OOP原則,因爲我幾天前第一次瞭解到它。 但是上下文是關於驗證代碼的討論,這些驗證代碼已經從ASP.NET Web窗體頁面移出到數據/業務對象中,並且沒有「Validate()」方法,只是一種保存方法本身做了驗證和(據說)提出了一個例外。我問這是爲什麼這樣設計的,我被引導到OOP的「告訴,不要問」的原理,這是我從來沒有聽說過的,所以我們一起看了谷歌,我立即受到

    4熱度

    4回答

    在以下簡單的情況下,你會如何堅持「告訴,不要問」的原則(以下簡稱「原則」)?在俄羅斯方塊遊戲,我有相關的以下示例局,BlockGrid和片類: public class Board { private var fallingPiece:Piece; private var blockGrid:BlockGrid; ... public function m