2010-01-07 64 views
0

我在Visual Studio中開始一個新的Silverlight 3的項目2010年我的計劃是有一個項目,每一個這些:
我是否需要爲服務,類,網站和Silverlight應用程序提供單獨的Visual Studio 2010項目?

Silverlight應用程序
託管Web應用程序
WCF服務

這最後一個也將包含一個類型化的數據集(將作爲我的數據邏輯層)和一些類來做我的業務邏輯。 WCF服務方法將把類型化的數據返回給Silverlight。

我只是想知道是否有任何令人信服的理由將BLL組件分離出WCF服務項目。當然也歡迎任何關於組織項目的其他意見。有一件事我不會樂意使用一些像N-Hibernate這樣的ORM。整個解決方案需要使用Visual Studio附帶的功能強大的工具來構建。謝謝!

+0

我只是好奇這裏 - 爲什麼排除第三方工具?哲學原因? – Sapph 2010-01-07 19:47:53

+0

排除ORM也排除了EntityFramework或LinqToSQL,這兩者都可以讓你的項目變得非常容易。 您是否考慮過使用ADO.NET Data Services或WCF RIA Services? – 2010-01-07 21:37:39

+0

是的,我猜想是哲學的。 ORM工具似乎只能解決問題,而不能解決問題。他們很胖,依靠供應商不會失業或被收購,可能在各地引入多個版本和DLL副本等。對於數據庫中只有20-30個表的應用程序,它似乎並不值得增加複雜性,但我可能是錯的。我會考慮LinqToSQL,如果它解決了所有的開發問題,但從我所看到的,緩存/性能不如手動滾動和手動控制什麼和沒有緩存。簡單和維護是我的首要任務。 – Wade 2010-01-07 22:21:45

回答

0

您絕對需要將Silverlight應用程序放在單獨的項目中。

至於從WCF服務項目中提取BLL類到單獨的一個,這僅取決於應用程序的性質,選擇的體系結構和未來可預見的可擴展性。就我所知,在Silverlight 3中,您不能共享Silverlight和其他類型的項目的DLL。所以從他們自己的項目中提取BLL類在這個意義上對你沒有任何好處。

我通常提取單獨的項目類時

  • 要麼,我用在其他多個項目
  • 或者,我要確保一些類不使用其他的DLL,所以我孤立他們通過將他們移動到一個項目中

因此,最後,我不能說有多個項目有任何令人信服的理由。

...只是我的想法。希望他們幫助。

+0

以下是我所用的: 1.Silverlight Web項目來託管應用程序和WCF服務; 2.服務參照2的光源項目; 3. BO項目的類由1引用; 項目2從WCF引用中獲取所有類的def信息。我的新挑戰是如何在2(本地存儲)中實現數據緩存而不將所有代碼放入MainPage代碼隱藏中。儘管這看起來像是唯一的方式,但是對於WCF的回調是異步的,我不能想象如何在客戶端輔助類中做到這一點。 – Wade 2010-01-08 21:49:30

1

我在工作中工作的項目有單獨的業務組件項目。我真的認爲這取決於項目的規模。在大型項目中這樣做可能很有意義,特別是如果項目的多個部分將共享相同的BLL。

+0

我明白你在說什麼。如果我有客戶端應用程序需要的業務邏輯(並且數據層沒有),那麼這些可能是放置到單獨的項目/庫中的好候選者。我可以肯定地重用這些。我可以從Silverlight的外部引用Silverlight類庫,這樣可以正常工作。謝謝。 – Wade 2010-01-07 22:08:48

0

您是否考慮過WCF RIA服務?這不是對你的問題的直接回答,但如果你這樣做,它會改變這個問題。

+0

我的理解是Visual Studio 2010和Silverlight 3不支持RIA Services。至少,在2010年嘗試添加項目時,我沒有在任何地方看到它們。另外,RIA僅處於測試階段,對吧?我不想使用測試版軟件進行生產。 MS可能需要很長時間才能將其帶出beta版。 – Wade 2010-01-07 22:01:32

+0

仙女Nuff。它只是在測試版(但有一個上線許可證)。有一個2010年的下載,但也許是SL4。 – serialhobbyist 2010-01-08 15:02:43

相關問題