原本是想要寫Decorator,但是發現他有點Composite Pattern的基礎,所以就想說先寫這個Pattern!
這個Pattern,可以使我們的Code能夠更組件化!能夠大大提升組件的覆用性,現在許多的前端框架也主打擁有Component,就像是樂高積木一樣,組起來就好!
起手式
『Composition over inheritance』雖然這句話是在物件導向比較適用,因為JS是FP不是OO阿!但是我們還是希望寫出覆用性高、耦合低和可維護性的Code,所以我們可以借鏡一下!
這個Pattern可以把他想像成資料夾與檔案的關係,檔案是Primitive Component、資料夾是Composite Component,資料夾裡面可以有檔案也可以有另外一個資料夾!有點『詩中有畫,畫中有詩』的感覺
定義Interface
|
|
先貼上剩下的程式碼,過幾天再打詳解,最近太忙了,有點拖稿
|
|