我正在閱讀福勒第1章的「重構」。用更動態的東西替換硬編碼類是否很常見?
在第51頁上,您會看到附有價格類別的電影。 第一種方法是:使用繼承來創建多個電影,每個電影都有其獨特的getCharge方法來計算價格。在第38頁上,這種方法被放棄了,因爲它會太靜態 - 改變電影的分類將會非常困難。但是,在第51頁上,繼續會再次使用,這次是價格。價格的三個子類被添加:兒童價格,新發布價格和RegularPrice。在此設計中,通過更改其價格對象更改電影的分類更容易。但是,在這裏添加新的價格類別需要增加一個新的類。
基於具有名稱字段的接口或抽象類,基於類的價格是否更容易?因此,名稱可以是「ChildrensPrice」,您可以定義任何其他您想要的價格類別,而無需編寫新類?
這是一個具有名稱的重構模式,例如:「將硬編碼類更改爲更動態的表示」?
這種方法的優缺點是什麼?