在台北怎麼享受同樣的經驗?
- 搬到合適位置租房子
現在台北沒人買房子吧?沒吧?真的有人買嗎?
- 上班路徑規畫經過河濱
台北市河濱一整圈 60km,外國人來都羨慕的要死,哪有什麼城市一整圈都有河還有專門的單車道?
- 台北工作地點沖澡很難
到健身房付月費洗澡,或是
到附近朋友家洗或合租一小間來換衣洗澡
- 早上彈性工時就靠運氣了,沒辦法就只好早起,夏天沒問題,冬天大概就掛了
倒是最近把《Servlet & JSP 教學手冊》改版並更名為《Servlet & JSP 技術手冊》
剛剛 google 了一下... 看來這本書還沒上市...
把書裏一路用 Servlet/JSP 發展起來的應用程式範例,重構到可以用上 Spring MVC 的最小集合,然後注入元件、逐漸去除 Servlet API、抽出表單物件、改用 Thymeleaf、使用 JdbcTemplate、簡化 Java Mail 等…
Servlet/JSP + 重構 + Spring,這本書未免也太超值!
能夠漸進式移植的話,目標比較明確,這樣瞭解 Spring 比較有意義,我個人是覺得,這些功能拆開來說明的話會很空虛。
這需要 programmer 有時間去了解這個過程... 以及上面老闆的支持...
作者可以做到 篩選 這件事,是因為 Spring 有幾項優點 …
是啊!文件裏有寫…
框架應該要有個最小集合,而這個最小集合,最好可以基於開發者既有的技術背景,在略為重構(原型)應用程式,以使用此最小集合後,就能使應用程式運行起來,之後隨著對框架認識的越多,在判定框架中的特定功能是否適用,之後,再逐步重構應用程式能使用該功能。
目前沒有,倒是最近把《Servlet & JSP 教學手冊》改版並更名為《Servlet & JSP 技術手冊》,最後用上了 Spring 5,基本上就是我這篇文章的過程實現,把書裏一路用 Servlet/JSP 發展起來的應用程式範例,重構到可以用上 Spring MVC 的最小集合,然後注入元件、逐漸去除 Servlet API、抽出表單物件、改用 Thymeleaf、使用 JdbcTemplate、簡化 Java Mail 等…
能夠漸進式移植的話,目標比較明確,這樣瞭解 Spring 比較有意義,我個人是覺得,這些功能拆開來說明的話會很空虛。
姑且當成 Spring 技術手冊借殼還魂吧!…XD
作者可以做到 篩選 這件事,是因為 Spring 有幾項優點
API 成熟穩定。即使現在已經 spring 4/5 了,還是可以用 2.x 版的方法去改寫,2.x 版到 5.0 中間隔了十年啊!
可以漸進式的移植。原本 servlet 的寫法,改成 spring controller 的皮後,大部份的舊程式還能動,你不用一次全部改完,可以分好幾個批次做。
spring 是個高度模組化的 framework,你可以只用他的 mvc 就好了,其他都可以放著先不管。也因為如此,你才有機會 篩選,只導入一部份你想要的功能
不是什麼 framework 都能這樣玩,例如 Angular 就沒有上述的任何優點。想導入嗎?那就全部重寫吧
在工作也暫時用不上的情況下,被我暫時放生的框架之一是Spring,在Spring 2.0 之後就不常接觸。過了多年,現在5.0都出了,雖然大致知道主打的特點是什麼,但並未去玩弄過細節。
我也是在 Spring 2.0 之後就不常接觸了,直到最近的案子有機會用到 Spring 4.x。
Spring 4.x 可以用 @Controller
、@Service
、@Respository
等 annotation 真的蠻方便的,不用 extend 或 implement 就可以讓類別擔任各自的角色。
不過就是有些細節不太了解,像是 @Controller
的 method 若使用 ModelAndView 取值會是 null,但用 @ModelAttribute
卻取得到值。
另外,不知 Caterpillar 是否有出 Spring 5.x 技術手冊的打算? XD
總之歷史會再重演一次,當 Java 走到 J2EE 那個複雜到哭的時候,就會有人出 Spring 幫大家砍掉重練,而 Java stack 繁鎖到不行就有人出 Rails 改變風氣。
Activity, Presenter 和 UseCase 太多層很煩啊。
本來 Activity 本身就應該是 presenter 的角色了 (可以測試),但 Android 搞得太麻煩,只好再抽一層。
寫到後來一個功能從 layout -> activity -> presenter -> use case -> model -> DAO 整整要六層以上才寫得完,暈。
這不是 over engineering 什麼才是? 但 Android 已深陷泥沼…