天天看點

The Ways To Achieve Your Modular System

進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平台上的桌面應用開發中的架構思考的資料,應該還是比較令人期待的吧?!

繼續閱讀