事先定義的抽象化,終究也是照顧著過去的需求,而不是現在的全部,也因此,任何既有的程式庫或框架一定會有不足之處,最後必然是不斷地加入新功能,終究使得框架臃腫,或者是出現另一個框架,來照顧不滿的另一群人。
抽象化也有它的不足之處 ...
為了防止框架臃腫,所以模組化是必要的吧
如果搬出可維護性的大旗,提出「複製、貼上程式碼的方式,將來需要修改時,會需要改很多地方」的類似理由,複製、貼上的另一組好夥伴就會上場救援,像是「你是不會搜尋、取代嗎?」
有可能搜尋到了 100 筆資料,但其中可能只有 50 筆左右是需要改的,這時候就不是那麼容易了...
又或者以為只要改一個地方就好了,根本沒有想到要去搜尋其他地方是否還有類似的程式需要改 ...
再來就是:你有時間把你改過的程式全部重測過嗎?
提出了WebAssembly概念,顧名思義,就是Web的Assembly(組合語言)形式,要讓網頁應用也能擁有二進位Bytecode的執行格式
轉成 byte code 什麼的不就是 Java 的強項嗎!
現在也有開源專案和工具,能快速將大型商用軟體常用的Java語言,或是微軟的.NET語言的程式碼,都能轉換成WebAssembly格式
之前看到時還沒有支援 Java,現在終於有了,雖然還是 beta 版 ...
即使事隔多年還是會遇到中文亂碼的問題 ...
其實主要還是 http header content-type 中的 charset 要設正確,client 端與 server 端統一都用 UTF-8 的話就不會有亂碼問題 ...
倒是最近把《Servlet & JSP 教學手冊》改版並更名為《Servlet & JSP 技術手冊》
剛剛 google 了一下... 看來這本書還沒上市...
把書裏一路用 Servlet/JSP 發展起來的應用程式範例,重構到可以用上 Spring MVC 的最小集合,然後注入元件、逐漸去除 Servlet API、抽出表單物件、改用 Thymeleaf、使用 JdbcTemplate、簡化 Java Mail 等…
Servlet/JSP + 重構 + Spring,這本書未免也太超值!
能夠漸進式移植的話,目標比較明確,這樣瞭解 Spring 比較有意義,我個人是覺得,這些功能拆開來說明的話會很空虛。
這需要 programmer 有時間去了解這個過程... 以及上面老闆的支持...
在工作也暫時用不上的情況下,被我暫時放生的框架之一是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