【发布时间】:2010-09-29 02:18:05
【问题描述】:
在使用对象和接口时,写入数据库的最佳实践是什么?关于对象设计有很多意见,但我不清楚数据库端。一个简单的例子:
假设一个 Contact 基类包含常用字段,例如联系人姓名(Bill、Fred、Sally)和位置(家庭、工作等)。添加一个 IPhone 接口(区号、电话号码、分机)和一个 IEmail 接口(电子邮件地址,cc)以抽象出差异。然后创建继承自这些的类(电话、电子邮件),如下所示:
电话:联系方式,IPhone 电子邮件:联系方式,IEMail另一种方法是创建一个 IContact 接口而不是 Contact 基类,如下所示:
电话:IContact、iPhone 电子邮件: IContact、IEMail没有实现 NHibernate 或 Entity Framework 如果这些对象被写入单个数据库表,那么数据访问代码的最佳实践是什么?我所看到的似乎相当笨拙。
【问题讨论】:
-
如果联系人有电话和电子邮件怎么办?联系人应该有一个包含所有电话数据的电话字段和一个包含所有电子邮件数据的电子邮件字段。您甚至可能想要拥有多个电话或电子邮件;但是电话不是联系人,那为什么电话类要扩展联系人呢?
标签: c# database object interface