2013-12-17 64 views
0

我工作的一個棱鏡/ WPF的項目,我已經有一個包含三個模塊所有這一切的實現MVVM模式的框架。每個模塊都有自己的用戶界面,用戶可以在其中提供一些數據,然後可以將這些數據傳送到服務器。 現在,我的問題是:在Prism應用程序中的模塊只涉及用戶界面的不同部分?我是否也可以創建一個模塊來實現與服務器的通信,還是應該爲此創建另一個項目? 假設與服務器的通信是在模塊中實現的,並且我有一個名爲UserAccount的類,並且具有用戶界面的所有其他模塊都需要有權訪問它。 UserAccount應該作爲服務器通信模塊的一部分還是作爲Infrastracture的一部分?棱鏡:新建項目與新的模塊和通信模塊之間

在我看來,我應該實現一個模塊中的服務器和模塊應包含類,如UserAccount通信,但基礎設施應該包含創建UserAccount對象,以便它可以從所有其它模塊進行訪問。 這是一個正確的方法嗎?

此外,您可以推薦任何棱鏡的文件,與這些類型的問題涉及?

回答

1

那些模塊之間共享所有類型應該是在一個單獨的共享組件(基礎設施服務於這個角色的嗎?)。這包括接口定義和將攜帶信息的所有自定義類型。

是的,你的服務器通信模塊,聽起來就像是爲自身的模塊的理想選擇,尤其是如果有涉及到服務器通信的共享資源。

編輯 - 共享大會

  • Assembly1:進口之一IMyServiceModule
  • Assembly2實例:實現IMyServiceModule和出口實例
  • Assembly3:共享的組件。定義IMyServiceModule接口和支持類。通過Assembly1和Assembly2

爲什麼引用?允許模塊鬆散耦合並避免循環引用。

+0

究竟你「單獨的共享組件」是什麼意思?比方說,我有一個類和一個ViewModel從一個模塊A創建該類的一個實例。模塊B中的ViewModel需要訪問模塊A中由ViewModule創建的對象。應該怎麼做?應該從模塊B的ViewModel直接從模塊A的ViewModel訪問它,還是應該間接完成這個操作(以及如何操作?)。 – mobearette

+0

@mobearette見編輯 – Gusdor