※ 引述《ADYex (寵物狼音樹)》之銘言:
: 例如,假設在一個租書店的程式中有以下程式碼:
: BookPreservation bookPreservation = new BookPreservation(
: "Jack", "1433717", "2016/5/8", "2016/8/8");
: 其中4個參數分別為 userName, userId, startTime, endTime,
: 比較好的作法是將各自相關聯的參數各自包裝,變成:
: BookPreservation bookPreservation = new BookPreservation(
: new User("Jack", "1433717"), new TimePeriod("2016/5/8", "2016/8/8"));
: 這個重構手法能帶來的好處如下:
: 1. 提升可讀性
: 2. 未來維護簡單
: 3. 容易因此將相關功能移入新造的class中,改善程式碼分工
: 試著像這樣將原作法的壞處與新作法的好處跟主管說看看吧。或是塊陶。
這個的話還需要看在用甚麼程式語言吧.
像在VB和C# v4+上也可以這樣寫:
BookPreservation bookPreservation = new BookPreservation(
userName: "Jack",
userId: "1433717",
startTime: "2016/05/08",
endTime: "2016/08/08");
這樣寫比分拆成用property設定更好. 也是你之前說的「在初始化時設定」
和「先全部初始化成null, 在建構完成後再設定」的差別.