2011-08-10 82 views
-2

好的,我有一個問題,這聽起來很奇怪。最佳做法建議:面向對象

比方說,我有以下自制對象:cTask,cPriority,cResource

我的任務對象有一個屬性優先級(如cPriority)和屬性的資源(如cResouce)。在我的數據模型中,任務獲得優先級ID,並且我有一個表1到多個資源(具有TaskID和ResourceID)

所以我得到類似於:task.priority.id,task.priority.name,task .resource(1).name等。

我在cTask中也有以下方法:Add(),Delete(),Update()。

什麼是處理這些方法的最佳方法?

這裏是我能想到的選項:

  1. 看那propertys保存「正常」的領域,並添加optionnal參數保存在資源ID相同的呼叫(如task.update(SomePriorityID ))。但它很醜。

  2. 做這樣的事情:

dim xPriority as new cPriority(somecontrol.selectedvalue) 

dim xTask as new cTask 

xTask.Priority = xPriority 

... more code 

xTask.Add() 

同樣在這裏,我找到這種解決方案並不完美。

  1. 最後,我可以添加其他屬性到cTask,如ResourceID。

這種情況的最佳做法是什麼?

謝謝!

+8

你的類名不應以'c'開頭。不要使用匈牙利符號,特別是對於類型。 – SLaks

+0

@Slaks爲什麼如此呢? – David

+1

http://msdn.microsoft.com/en-us/library/ms229045.aspx'不要使用匈牙利符號.' – SLaks

回答

0

恐怕你正在試車。你應該看看ORM來解決你的問題。

基於activerecord的東西將完全適合您的編程風格。

看看CSLA.Net。

+0

我無法使用ORM ... – David

+0

大多數這些解決方案都是開源的,因此請繼續閱讀他們的代碼,並瞭解他們如何解決您的問題。 – chrissie1