【问题标题】:Business objects and where to start?业务对象和从哪里开始?
【发布时间】:2010-03-01 16:58:09
【问题描述】:

我正在创建一个新数据库并将旧数据移入其中。我想为新系统创建业务对象并查看旧系统,看起来对象基于旧数据库中的表。这是创建业务对象的正确方法吗?

【问题讨论】:

  • 我使用 C# 来构建这些业务对象。
  • 好的,那么 nHibernate、Subsonic 就可以了。以防万一您使用不同的语言...

标签: .net database-design c#-4.0 business-objects


【解决方案1】:

正确规范化的数据库看起来没有像正确的面向对象设计。数据库的需求与软件应用程序的需求大不相同。

您应该根据使用方式的要求来设计您的应用程序。应用程序应该做什么样的事情?需要哪些对象来支持这些需求?它们之间的自然关系是什么?

单个业务对象可能存储在十几个数据库表中,或者单个表可能存储十几个对象的数据。这实际上取决于您使用的系统的具体情况。

【讨论】:

    【解决方案2】:

    如果旧数据库被正确规范化,您会发现许多表确实对应于业务对象。不过……

    您对业务对象构成的决定不应仅限于此。您需要研究场景并确定业务感兴趣的内容。您对业务的了解将是主要决定因素。

    【讨论】:

    • 数据库看起来已正确规范化,但肯定没有正确创建 :o) 感谢您提供信息。
    【解决方案3】:

    这里没有太多细节是一个建议......

    从新系统必须做的“什么”开始。 [新] 系统应该支持哪些[新] 功能。需要什么资料。您的新系统很可能应该满足新要求或以不同和/或更好的方式满足新要求。

    在您对事物和需求需求有了相当清晰的了解后,跟进“如何”;如何解决那些“什么”。做一些业务对象建模。

    在完成业务对象建模之后,您可以着手研究另一个“方法”,即数据库设计。然后你就可以做数据迁移的事情了。

    遵循这一点并不意味着完全忘记旧系统/数据库。如果您认为可以从旧方式中汲取任何好的或有价值的东西,请接受并尝试尽可能地将其纳入/整合到新方式中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多