2013-03-05 82 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

相关问题