好的设计模式系统重写



我正在寻找一个好的设计模式,用于逐步重写系统的中间层,同时仍然维护其原始数据库,直到替换了足够多的系统,可以替换旧数据库以支持新数据库。

例如,假设您有一个带有表a的遗留系统,表a有100个列,这些列映射到具有100个属性的对象a。您最终决定,实际上对象A可以在逻辑上划分为5个对象,在理想的情况下,这些对象将返回到5个表中,但同时必须保留到原始的100列表中。我正在寻找一种方法,可以将中间层的一部分交换出去,并将新的5个对象交换进来,但在后台,它仍然存在于同一个数据库中。

事实上,我们不会换掉旧的中间层,而是编写一个新的中间层。这个中间层会慢慢站稳脚跟,但需要在一段时间内坚持到原始数据库。

有什么想法吗?

干杯。

通常,您会使用视图来屏蔽表设计更改,以在不更改客户端代码的情况下维护数据库"API"

注意:对象和表是而不是相同的东西。。。

适配器和facade模式听起来很适合您正在做的事情。

我决定使用NHibernate来处理映射,直到我们可以开始替换底层数据库。因此,对象模型将被适当地规范化和细化,并且使用NHibernate的映射功能将首先映射到现有表,然后将该映射换成新的表映射。

最新更新