2013-07-25 43 views
7

我从DDD哲学开始,我想实现与我们在此处的遗留系统的集成。在我对互联网的研究中,我发现了一些文章和样本,但我必须承认:很难理解如何正确地进行集成。如何正确实施反腐败层

在问这个问题之前,我在这里做了一个搜索,但结果对我没有用,所以我想知道是否可以发送或显示一个ACL的实现样本。

在这里,我有这样的项目:

  • 遗留系统
  • 原有数据库(我需要访问)
  • 将采用DDD方法
创建新的应用程序

最初的想法是在整个NHibernate访问数据库,创建一些所需的映射类,域实体和实现业务规则。据埃里克埃文斯称,这种策略被称为[泡泡背景] [1]。我认为这个策略可以解决我的问题,但我需要一些样本来以正确的方式做到这一点。

有人可以帮助我吗?

+2

你读过埃里克埃文斯的书“域驱动设计”,有一个关于acl的部分。 Acl实际上是在DDD中应用适配器模式的一个示例。 – Hippoom

+1

我从个人经验中得到的一个建议是不要跳过使用NHibernate访问遗留数据库,因为这可能不值得。相反,请专注于使用可通过ACL访问新应用程序的服务来封装旧系统。 – eulerfx

回答

6

ACL是一种模式,而不仅仅是一段代码。在你描述的内容中,你没有说你对传统系统有很强的依赖性,或者你只是想在当前系统中内置一些独立的代码?有了这个,你可以决定将你的ACL只是一个数据库服务,还是将它包含在遗留系统逻辑上?

您放入ALC的实际部分高度依赖于您的实施。 有你问什么的一般模式: enter image description here

你可以在Eric Evan's talk找到更多信息。