想要了解在實務上更多進階的應用,不只是學習 DI, 更進一步以這為基底在現代軟體開發怎麼解決原本架構設計的問題,怎麼把原本的職責切得更乾淨、簡單、好維護與測試,怎麼結合 Caching, feature toggle, A/B testing, error handling, audit logging, authentication/authorization 而不會弄髒原本的程式,讓你任何一個 class 都可以透過 attribute 的標記來增加一些橫切面的處理行為。
一月的課:
https://dotblogs.com.tw/hatelove/2019/09/23/dependency-injection-and-aspect-oriented-programming-202001
明年的課預計減少1/3到1/2,有興趣的朋友請自行把握機會
「aspect-oriented programming」的推薦目錄:
- 關於aspect-oriented programming 在 91 敏捷開發之路 Facebook 的最佳解答
- 關於aspect-oriented programming 在 軟體廚房 Facebook 的最讚貼文
- 關於aspect-oriented programming 在 91 敏捷開發之路 Facebook 的最佳貼文
- 關於aspect-oriented programming 在 What is aspect-oriented programming? - Stack Overflow 的評價
- 關於aspect-oriented programming 在 ezequieljuliano/Aspect4Delphi: Concepts of aspect ... - GitHub 的評價
- 關於aspect-oriented programming 在 Aspect Oriented Programming 的評價
aspect-oriented programming 在 軟體廚房 Facebook 的最讚貼文
來看看 gRPC 服務如何實作 AOP,原生就留有空間讓我們來發揮。
https://dotblogs.com.tw/supershowwei/2019/12/09/163713
aspect-oriented programming 在 91 敏捷開發之路 Facebook 的最佳貼文
好友 陳小風 的巡迴第一場分享已經結束,看著大家熱烈迴響,真心覺得棒。
那可以開始來破其中一個小哏了。
要做到很順利的持續交付(CD), feature toggle 要比 branching 合理、順暢、簡潔多了。
不要被炫麗的 branching strategy 迷惑了,越弄越複雜,大家心裡覺得很安全,但那 #複雜度的倍數成長 跟 #延遲整合 的硬傷,跟原本的 #持續整合 根本背道而馳。
除非你的產品只有一個 team, 否則光不同時間點交付,同時在同一個環境驗證,交付上版前的 merge effort 就足以拖慢整體交付速度。
toggle 的硬傷是 code, design level 的複雜度,以及最好可以管控一整套 toggle 開關、結合 A/B testing 的基礎建設,當然還包含了 feature toggle 的退場機制。
Code 跟 design 的複雜度,有很多設計上的方案可以很漂亮的解決這件事,我現在在客戶那邊用的 feature toggle 都是藏在中間的黏合層,隨時可以抽換,修改,移除,而原本呼叫端與被呼叫端的流程邏輯不會有直接影響。
想學的話,我們在一月份的 DI/AOP 這門課會講到:https://dotblogs.com.tw/hatelove/2019/09/23/dependency-injection-and-aspect-oriented-programming-202001
每次看大家沈迷在分支策略來區分三四個 team 的 project, 看著大家 merge 時所產生的一大段 conflict code,我就覺得痛。
大家 argu 著 feature toggle 容易讓 code 複雜度增加,卻幾乎看不見他們正在寫的 legacy code 是如何降低複雜度的,本身還是挺矛盾的。
CI != build server, 而是如何在每一分產出、每個時間點,都可以讓「產品」被持續整合。(不是 團隊 level, 是 產品 level)
至於要做到持續整合跟持續部署,該怎麼降低出錯的風險,你肯定會聽到小風講:當然,測試跟重構本來就是必須、自然會發生的事,平時 pair programming, 有需要還有 mob-programming room 供大家共創、互相學習、互補盲點、在核心設計上最大化團隊綜效。
如果十一月有機會,一定要去聽小風的分享,然後抱著大腿深入問些實際的問題。還有一點是我個人的建議,要了解全貌,要把每個單點串連起來,不然只聽到一個詞就想高潮導入,是挺危險的。
aspect-oriented programming 在 ezequieljuliano/Aspect4Delphi: Concepts of aspect ... - GitHub 的推薦與評價
The Aspect4Delphi consists of an library that enables the use of the concept of aspect-oriented programming (AOP) in Delphi. ... <看更多>
aspect-oriented programming 在 Aspect Oriented Programming 的推薦與評價
of AOP concepts. 199X: Introduction of. Adaptive. Programming. 2001: Xerox PARC designed. AspectJ. 2001: IBM designed. HyperJ. 2001: AspectC++. ... <看更多>
aspect-oriented programming 在 What is aspect-oriented programming? - Stack Overflow 的推薦與評價
... <看更多>
相關內容