最近在寫專案的時候,因為有使用到D3.js,
之前學習到說這些程式碼都可以包裝起來,
以免他未來改版的時候程式碼在各個檔案所以不易更改。
但我一直不知道這個觀點是否正確
例如:當要幫一個D3物件增加屬性的時候,正常的寫法是這樣
d3.select('body')
.append('svg')
.attr('width', 100)
.attr('height', 200)
我就會在這邊改寫成:
obj.AddAttr=(attr,o=obj)=>{
for(const [k,v] of Object.entries(attr)){
o.attr(k,v);
};
return o;
};
//實際應用的時候
d3.select('body')
.append('svg')
.AddAttr({
'width':100,
'height':200
})
當然以上的程式碼並不是完整的,只是大概說個意象
想問問大家這個觀念是否正確
還是大家在使用套件的時候有其他方式來讓易維護性提高,謝謝!
這個應該是 Facade Pattern 的應用
這樣做的好處在
日後更換這個套件時
只需要修改wrapper
而不用改動程式邏輯