JCConf 2023

水球潘

大家好,我是水球潘。

我主修軟體設計模式、模式語言、軟體架構學以及軟體工程(+領域驅動設計)。
目前正全職創業中,本身為台灣領域驅動設計社群的志工,並且我創辦了「水球軟體學院」社群(裡頭有 5600 多位軟體圈夥伴)。眼下的目的是希望能建立一個新型態的軟體社群,將人們凝聚在一塊,並從中一起解放雙手的力量!

我每週都會在「水球軟體學院」社群中分享軟體工程等方法論 ^^
平均每次都會有 100 多位觀眾參加,就這樣維持了一年多了。分享知識對我來說是一件樂趣,我喜歡花很多時間,將最複雜的知識,透過某種技巧,將它變得簡單,然後講給所有願意與我一起欣賞知識、學習知識和落地知識的夥伴們。

這幾年開始踴躍參加 Jcconf,畢竟我現在是一位無業遊民(i.e., 創業中),比較有時間能做菜給大家吃,歡迎大家與我交流,謝謝。


Session

10-06
10:40
45min
帶你用模式語言的高效思路解析 Spring Framework 原始碼,並從中學習如何設計一個 IoC Container
水球潘

身為後端工程師,既然在未來的路上我們必須大量使用 Spring Framework 相處,為何不給自己一個機會好好地了解一下 Spring Framework 的內涵,來當它的知心朋友呢?

大家好,我是水球潘,我專精設計模式並喜愛分享軟體設計學。
這次我想要煮一道比較硬核的菜色送給大家:「帶你用模式語言的高效思路解析 Spring Framework 原始碼,並從中學習如何設計一個 Web Framework」

我會在這場演講中,讓你認識以下這幾個話題:
1. Java 的技術堆疊:Web Framework 的技術價值主張是什麼?
2. 不同種類的 Web Framework:Register-based vs. IoC-based
3. Recap:探究 Spring Autowiring Mechanism 中的各種 Annotation
4. AnnotationConfigApplicationContext:來注入一個 Bean 吧!
5. ClassPathBeanDefinitionScanner 認識這個幫你掃包的掃地僧
6. DefaultListableFactory -- IoC 容器的大主角:getBean 是怎麼運作的?
7. createBean 到底是怎麼運作的?如何選擇最適配的建構子?
8. BeanFactory 設計: 看看 Spring 是如何遵守介面隔離原則的。
9. 看看 Spring 是如何擴充 @Configuration 功能的 -- BeanDefinitionRegistryPostProcessor
10. Zoom out! IoC-Based Container 模式語言:照著這個模式語言的思路進行,你就能自幹出另一個有著特定性質的 IoC Container。

高效率的思路能帶著你解析複雜的大型系統,而這正是我學習軟體設計時最意外的收穫。
希望能藉這個機會分享給大家,我們不見不散!!

401
401