【文章內容簡介】
給定的需求進行設計, 然后在額外的需求變得透明時對設計和實現進行修改,這個過程稱為重整 (refactoring)。 重整 : 為類提升一個原始屬性class Mileage{ int nominalMileageValue = 0。 int chassisMileageValue = 0。 int engineMileageValue = 0。 public int puterEffectiveMileage(){……}}class Automobile{ Mileage mileage。} 重整 : 引入抽象基類和接口abstract class MyAbstractClass{}Class AnotherClass{MyAbstractClass m = new MyAbstractClass()。 //does not pile}Class AnotherClass{……MyabstractClass m。 //no problem: just a declarationm = getObjectOfMyAbstractClass()。//returns obj. nonabstract subclass。m = new ConcreteSubclassOfMyAbstractClass()。//no problem } 健壯性 如果設計或實現能處理各種各樣的異常情況,比如數據錯誤、用戶錯誤、環(huán)境條件,那么這個設計是健壯的。 檢查輸入 (保證環(huán)境健壯性 ) 例如 : 類型檢查 檢查與前置條件和不變式不符的輸入 為提高健壯性而初始化int i = 0。Class AnotherClass { MyClass c = new MyClass(1, “a”)。} 提高健壯性的參數傳遞技術例如 : int puterArea(int aLength, int aBreadth) {…..}如果可行,捕獲在類中的參數約束int puterArea(RectangleDimension aRectangleDimension)在方法注釋中說明所有的參數約束aLength 0 and aBreadth 0 and alength = aBreadth調用者遵循參數的顯示要求問題時