2

假设一家公司正在构建一个全新的应用程序。该应用程序遵循 DDD 原则。旧代码库有很多他们想要转换为新代码库的产品(或公司的另一个“实体”)。

这项工作应该怎么做?通常,使用例如 ssis 导入会更快、更容易——从一个数据库传输到另一个数据库。但是这里的主要问题是跳过了很多 BusinessRules(在 DomainLayer 中的托管代码中实现)......如果开发人员说:“我控制它。规则被复制为 sql 脚本.. 。”

我们是否应该将托管代码库导入 SQL Server(至少这在 .NET 和 MS SQL Server 中是可能的)?或者我们应该在托管代码中创建一个导入脚本,以便在将实体保存在数据库中时遍历域中的所有层?...(可能需要很多小时..)

你怎么认为?

4

3 回答 3

1

我建议您在 .NET 中编写一些导入应用程序,您可以在其中应用业务规则。因为这个任务(至少我想是这样)只会运行一次(或两次;))速度并不那么重要 - 为了加快它 - 如果可能的话,将它设计为多线程。

不,这还不够好-如果有人说“我已经控制住了”-这是一个嗡嗡声,我所有的警钟都会响起。一些细节将永远被遗忘,这主要是一场小灾难;)

于 2009-02-24T14:30:14.770 回答
0

这两个选项并不相互排斥。SQL Server 可以使用 Web 服务。您可以将导入服务创建为 Web 服务,然后从 SQL Server 调用它。当然,您甚至可以使用 SSIS 执行此操作。

于 2009-02-24T14:41:07.020 回答
0

就像该联盟中的许多其他问题一样(这是解决这个问题和那个问题的最佳方法,选择哪种语言,ORM 与否)在不了解旧应用程序、新应用程序和数据的详细信息的情况下很难回答模型(关系和 OO).... 或者简单:仔细分析您的任务,然后选择您的工具。

  • 新应用程序是否会构建在新的关系层之上,并且具有自己的新域层,还是会保留所提到的域层?
  • 我们在谈论什么样的业务规则和多少业务规则?
  • ...?

在不了解这一切的情况下,我想说:新应用程序必须遵循旧的业务规则,并且必须为域设计新的关系层。开发人员应该了解业务和域规则,并且(sql-)脚本应该是一种可行的方式。

于 2009-02-24T14:43:00.743 回答