JavaScript學習筆記(十八) 配置對象

配置對象(Configuration Objects)

配置對象模式是一種可以提供簡潔API的一種方式,特別是當你正在構建一個類庫或者其它會被別其它程序使用的代碼。
這是一個不爭的事實,軟件需求在開發和維護時都會改變。當你開始工作的時候,心中有一些需求,但後來會增加更多的需求,這是經常發生的。

想象一下你正在寫一個函數叫做addPerson(),接受一個first和second名字並且將一個person加到person列表中。
function addPerson(first, last) {...}
然後你得知事實上出生日期也需要被儲存,並且性別和地址是可選的。所以你修改函數,添加新的參數(小心翼翼的將可選的參數放到參數列表後面)。
function addPerson(first, last, dob, gender, address) {...}
此時此刻,這個函數簽名已經有一點長了。然後你得知你需要添加一個usename並且是必須的,不是可選的。現在函數的調用必須傳遞即使是可選的參數並且非常
小心防止混淆參數的位置:
addPerson("Bruce", "Wayne", new Date(), null, null, "batman");
傳遞大量的參數是不方便的,一個更好的方式用一個參數代替所有的參數,這個參數是個對象;然我們叫他conf,代表configuration。
addPerson(conf);
接下來函數的調用者就可以這樣做:
var conf = {
    username: "batman
    first: "Bruce",
    last: "Wayne"
};
addPerson(conf);
配置對象的好處就是:
  • 不需要記住參數和他們的位置
  • 可以安全的省略可選參數
  • 讀起來和維護起來更簡單
  • 添加和移除參數更加方便
配置對象不好的地方:
  • 需要記住參數的名稱
  • 屬性名不能被壓縮
這種模式在當你創建DOM元素的時候非常有用,比如:設置元素的CSS樣式,因爲元素和樣式擁有大量的屬性,絕大部分都是可選的。

發佈了4 篇原創文章 · 獲贊 27 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章