2010-03-11 11 views
1

這是場景,我正在開發一個應用程序使用csla 3.8/c#.net,應用程序將有不同的模塊。它就像一個ERP,它將會計,日常時間記錄,招聘等作爲模塊。如何創建CSLA的ontop平臺? < - 如果是有意義的

現在需要檢查每個模塊的公共實體並從中建立一個「平臺」(< - 老闆稱之爲)。例如,DTR將擁有一個實體「員工」,招聘將擁有「申請人」,因此您可以從平臺中獲得的一個公共實體可以放入平臺中爲「人員」。 「人」將包含名稱,地址,聯繫信息等典型信息。

我知道這聽起來像OOP 101.事情是,我不知道我該如何去做。我多麼希望它只是一個簡單的繼承,但要求就像創建一個可供使用CSLA的模塊使用的API。

在csla中,您創建智能對象的權利,從csla基類繼承像businessListbase,readonlylistbase等吧?如果例如我創建了一個企業基礎申請人類,它將具有諸如薪資需求,可用性日期等屬性,現在對於個人信息,我將需要來自「平臺」的「人員」並將其實施到申請人課程。

因此,在總結我有幾個問題:

  1. 如何建立這樣的平臺?
  2. 如果這樣的平臺是可能的,它將如何在每個模塊的實體上實現? (即時通訊已經從csla的基類繼承)
  3. 如果第一個和第二個是可能的,它在開發和維護應用程序方面有優勢嗎?

爲什麼我問#3的原因是因爲我看到它的方式,即使我能夠爲此創建平臺,我將需要在我的模塊實體上定義平臺實體的屬性所以要進行驗證和所有。

回答

1

關於從基類繼承是正確的。

  1. 我會從設計基本實體開始,不包含任何關係。然後,我將創建從新創建的實體繼承的類,並添加從父實體通過數據庫(通過FK關係)提取的子屬性。我也建議查看我們的CSLA 3.8.2 templates。他們同時擁有VB.NET和C#風格,並將使這項任務變得更加容易。
  2. 是的,這可能是,只需按照#1中概述的步驟。
  3. 我不確定優點或缺點,但在未來應該很容易維護。您的派生類可以添加/完全控制基類規則。

感謝 -Blake Niemyjski(該CodeSmith CSLA Templates的作者)

0

「平臺」實體或我們現在稱之爲所以當我們在添加模塊什麼泛型BO的是代碼重用的主要目的未來會計或採購,我們有我們的處置這些通用模塊。最後,我的解決方案是僅僅確定多個模塊將使用的對象,並將它們分離到不同的項目中,以便其他模塊在他們需要對象時才使用該項目。

至於我的第一個例子申請人(招聘),員工(每日時間記錄)和人(「平臺」)。發生了什麼事是人被放在通用的BO proj上。申請人和員工都只是將人員BO作爲兒童財產。

感謝您的回覆布萊克。順便說一句,我們真的使用這個Codemith。感謝您的建議。乾杯!

相關問題