進CSTS(大連)之後,目前的項目的frontend是用Swing實作的,這本來沒啥驚奇的,但是,時間長了卻發現一個比較現實的問題。本來以為目前的GUI的framework隻是我們team用的,後來才發現,另一個Team開發的功能也要挂在這個應用架構之上,當兩個team的釋出時間不同的時候,問題就來了,我們Team要做Code Freeze的時候,需要同時協調另一個Team是否繼續讓他們送出代碼,因為同時在一個Branch上開發,同時送出到相同的codebase,或許通過配置管理可以解決這樣的沖突,但是,為什麼不一開始就通過子產品化系統的設計,來分離這樣比較獨立的功能子產品那?這就促使我想要提一提标題所給出的這個話題...
但是,即使是僅關注桌面應用的開發這一塊兒,即使是僅關注Java平台上桌面應用這一塊兒,也會發現,整個話題牽扯的範圍依然過于寬泛了,根本就不是三言兩語可以說清楚的,即使是三言兩語說出來的,也可能隻是皮毛而已。 而且現在感覺自己各方面狀态不好,是以,這個話題暫且擱置了吧,不過,把開始的構思先放這裡,或許以後某一天,我可以從這裡繼續...
[quote]
<<The Ways To Achieve Your Modular System.>>
Phase 1:
1-Interface + Classloader custom solutions
2-The service discovery mechanism in Java.(SPI)
eg. JDBC drivers, providers for sounds api.
3-NetBeans Platform Modules (as if the LookupAPI is based on 2)
3.1 Spring RCP
Phase 2:
4-OSGi and JSR277 or JSR294???
4.1 Eclipse Plugin Modules (Eclipse RCP)
4.2 Spring DM
5-...
Reference:
1)-http://www.javaranch.com/journal/200607/Journal200607.jsp?print=on#a1
2)-http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html#Service%20Provider
3)-http://mockus.org/optimum/JavaTutorial/mustang/sound/SPI-intro.html (not too necessary)
4)-http://dvbcentral.sourceforge.net/netbeans-runtime.html
5)-http://netbeans.dzone.com/news/from-pain-gain-swing-and-netbe
6)-<<Rich Client Programming:Plugging into the NetBeans Platform>>
7)-
[/quote]
即使是從現在的結構也可以看出來,要參考的資料還是很多的,現在的參考清單還隻是個開始而已。不過,要是其他人對這個話題感興趣,倒是可以繼續哈,我想之前這樣的話題也應該有人提過了吧,沒有google過,但能夠從總體上對java平台上的桌面應用開發中的架構思考的資料,應該還是比較令人期待的吧?!