2013-03-05 36 views
1

假設我有兩個業務對象或實體:人員和地址。班級地址如何以正確的順序執行業務對象

Person *-----* Address 

現在,有人填寫了Web表單並輸入他的個人數據(姓名,街道)。所有數據通過查詢字符串正確傳輸到網絡服務器。

現在,我想知道如何使用業務類和方法以正確的方式存儲這些數據? 哪種方法是正確的?我怎麼知道正確的?

第一種選擇:

$person = new Person(name, surname) 
$person.setAddress(street) 
$person.saveToDB(); 
// within setAdress an instance of Address-Class -> .setAddress(street){new Address(street)} 

或者

第二個選項:

$address = new Address(Street) 
$address.setPerson(name,surname) 
$address.saveToDB(); 
// within setPerson an instance of Person-Class -> setPerson(name,surename){new Person(name,surname)} 

我怎麼知道正確的順序?我對此有點困惑! 以及如何處理DB插入,因爲我融化了2個BO並且必須將其保存在數據庫中的兩個不同表中?我完全搞砸了!

回答

1

取決於你的域名。在某些域中,地址將由該人擁有(例如運輸系統),並且在其他域中該人將由該地址擁有(例如映射應用程序)。所以正確的解決方案取決於你的域名。其次,有很多orm(對象關係映射)框架可以處理所有數據庫交互。選擇符合你的語言和口味的產品並使用它。

+0

好吧,稍微搜索ORM主題後,我終於在martinflowers架構數據映射器模式上找到了我的答案.... thanx爲您的答案讓我走向正確的方向! – Okyo 2013-03-13 21:40:04

相關問題