如何将我的实体与数据库模型分开?

时间:2009-08-19 08:51:12

标签: .net oop separation-of-concerns n-tier-architecture

我需要一些帮助才能很好地组织我的数据模型 我正在写一个应用程序,它将是一个简单的笔记本。我使用三层架构= 业务逻辑,数据逻辑,数据库访问。
我想使用标签系统,这样在应用程序中搜索信息会更容易。这里有几个问题   - 由于关注点分离,支持通过这些实体进行标记搜索的实体类和类必须不同。那么,最好的方法是什么 - 封装还是继承?   - 将实体类与检索数据并向数据库提供信息的类分开是一个好主意吗?如果是,它将是4个级别 - 实体类,数据库类,标记搜索助手和BL类。

1 个答案:

答案 0 :(得分:0)

这是一些非常普遍的问题,因此我无法涵盖其中的大部分内容。

一般来说,如果有疑问,请避免继承。应该谨慎使用继承,并且很少使用真正的继承。接口和聚合大多更合适。

我不明白你的标签搜索助手。标签是实体,标签的处理是业务逻辑。根据标签搜索实体可能会使用接口,仍然是业务逻辑。

“检索并向数据库提供信息”的类是什么?你在谈论数据访问层吗?我会寻找一些现有的库或技术来访问适合您需求的数据库。我正在使用NHibernate,但我认为这对你的应用来说太过分了。周围还有很多其他产品。

您需要尽可能多地分离系统的复杂性。我知道,没有多大帮助。