《設計模式》之總結

設計模式在很早之前有明確的定義,使用意圖,場景;
但是在現代的很多編程語言中,就內置的設計模式,比如C#的事件、委托特性,就是觀察者模式的體現;

現在的前端框架Vue,整個Model就是依靠Object對象,攔截方法set,然后通知視圖更新;React生態(tài)里有個狀態(tài)管理框架Mobx,都是用觀察者模式實現的,每個class的屬性加上Observable,就可以讓屬性可觀察,View里加上Observer裝飾器,這樣,當observable的屬性改變后,View就會自動分析該不該更新視圖,這都是觀察者模式的體現;

又比如JavaScript/Typescript中的裝飾器Decorator,層層包裹function,還有Python的Decorator,這是裝飾器的體現;

又如Java的動態(tài)代理,這其實就是代理模式,Spring框架的AOP面向切面編程,攔截方法的調用,然后擴展邏輯,再決定是否要調用原來的邏輯;更有底層的CGLib,直接動態(tài)生成字節(jié)碼類;很方便擴展邏輯;但對于使用者是無感知的;

最后,其實我一直都覺得設計模式沒有固定的使用方式,只要能達到設計者的目的,可以靈活組合使用;而且不一定要像GoF定義的那樣,必須得要有這個接口,那個接口,這個抽象那個抽象,沒有必要的;只要達到目的,寫出高內聚低耦合、可擴展、可維護的代碼就可以了;

我覺得,可維護的代碼才是牛逼的。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容