2009-04-23 92 views
1

我們正在考慮兩層應用程序。然而,稍後我們可能想將其轉換爲三層應用程序。有沒有任何設計模式/框架/技術有幫助? 考慮兩層的主要原因是:後來可以修改爲三層應用程序的兩層應用程序

1)單低端臺式機可用於運行該應用程序。

2)目前只有一個用戶。

3)應用程序需要在沒有網絡連接的遠程位置運行。

我們的想法是在沒有連接的情況下將應用程序部署爲兩層,並在存在連接的情況下將其用作三層。

+0

我想到的一個選擇是使用Silverlight/WPF + .NET(ADO.NET)。將其作爲獨立應用程序運行或部署在服務器上。這種方法是否存在挑戰限制? (我基本上是一個java人;對.NET技術不太熟悉) – 2009-04-23 06:46:17

回答

1

你還沒有說你的開發平臺是什麼,所以我會假設.NET,這讓我有我自己的經驗:-)

我有同樣的經歷,這是我解決了謝謝回答.NET遠程處理的靈活性。

在構建應用程序時,請考慮將放置在服務器上的應用程序的各個部分,如果它理論上是作爲客戶機服務器應用程序實現的。將所有這些類放入單獨的庫中,並將您的客戶端應用程序直接鏈接到此庫。

當您想切換到客戶端服務器時,可以使該庫由Windows服務器託管,並適當地配置客戶端和服務器。

當然,我在這裏遺漏了大量的細節(MarshalByRef對象,可序列化的對象,可以配置通信的大量方法),而且我可能會討論已經變得冗餘的功能由WCF。

但問題是,將業務邏輯/數據訪問層隔離到由客戶端應用程序託管的單獨DLL中,然後再處理切換到客戶端服務器是非常可行的。

+0

我對任何開發平臺(Micorsoft堆棧 - Silverlight/WPF/.NET,Flex/AIR,Swing/J2EE)都是開放的 – 2009-04-23 04:42:24