2013-01-06 66 views
0

我正在尋找在客戶端應用程序和服務器之間實現某種中介(分派器/控制器)。 客戶端發送命令到中介 - >中介進程(執行)該命令。我使用WCF作爲通信平臺。有沒有一種方法(模式或不適用)如何向客戶端添加新命令而不改變中介器的界面?
說中介地址幾個其他服務是從客戶端隱藏。客戶端發送命令到服務器執行某些操作。這些操作涉及各種域服務和服務器端類。 稍後再說我決定給客戶端添加一條新命令。該新操作可以由域服務執行,但是如何在遠程計算機上觸發該操作,以及不必擴展介體接口的域服務(因爲介體是客戶端和服務器之間的唯一通信點)。客戶端和服務器之間的通信中介(控制器?)

所以一般來說,我正在尋找一些替代控制器在WEB應用程序中使用的MVC模式,而不是WEB應用程序。

任何想法?解決方案?

+0

休息超過WCF .. –

+1

MVC模式不以任何方式受限於網絡應用程序;我認爲你在使用ASP.Net MVC混淆MVC模式。 –

+0

MVC + Command Pattern是實現它的方法!有了你的解釋,我明白你想添加新的命令,客戶端應該能夠使用該命令沒有任何change.Is我的理解是正確的?這是相當雄心勃勃的,但肯定有可能。 :) – Subbu

回答

0

所以在我看來,你需要某種不知道消息格式的透明代理,只是傳遞給適當的後端系統。換句話說,你需要像「消息API」而不是「RPC API」。這可以通過不同的方式完成 - 您可以將消息作爲XML傳遞,您可以在其中指示命令的類型,命令的名稱,參數等。然後,根據命令的類型,中介器可以將命令傳遞給適當的備份系統。這樣,如果添加新命令(名稱),則只需要修改後端系統。如果您添加新的命令類型,則不得不修改您的介體,而不僅僅是新的命令。

可以Google郵件API圖案獲得更多信息,例如: http://www.servicedesignpatterns.com/WebServiceAPIStyles/MessageAPI

相關問題