2012-01-16 5 views
2

시스템의 중간 계층을 점진적으로 다시 쓰는 동안 기존의 데이터베이스를 유지하면서 새 데이터베이스를 대체 할 수있는 충분한 시스템이 교체 될 때까지 좋은 디자인 패턴을 찾고 있습니다.좋은 디자인 패턴 재 작성?

예를 들어 테이블 A가있는 레거시 시스템이 있고 표 A에 100 개의 속성이있는 오브젝트 A에 매핑되는 100 개의 coloumns가 있다고 가정 해보십시오. 여러분은 실제로 Object A가 이상적인 세계에서 5 개의 테이블로 돌아갈 수있는 5 개의 객체로 논리적으로 분리 될 수 있다고 결정하지만, 원래의 100 개의 컬럼 테이블로 지속되어야하는 동안은 5 개의 객체로 논리적으로 분리 될 수 있습니다. 중간 계층의 섹션을 바꿀 수있는 방법을 찾고 있는데, 새 5 개의 개체가 바뀌었지만 백그라운드에서는 동일한 데이터베이스에 유지됩니다.

사실 우리는 이전 중간 계층을 교체하지 않고 천천히 잡을 새로운 것을 작성하지만 일정 기간 원래의 db로 유지해야합니다.

아이디어가 있으십니까?

건배.

답변

0

우리가 기본 데이터베이스를 교체하기 시작할 때까지 NHibernate를 사용하여 매핑을 처리하기로 결정했습니다. 그래서 객체 모델은 적절히 정규화되고 호리 호리 할 것이고 NHibernate의 매핑 기능을 사용하면 먼저 새로운 테이블 매핑을 위해 매핑을 바꾸기 전에 기존 테이블에 매핑됩니다.

1

adapterfacade 패턴은 사용자가하고있는 일과 잘 어울립니다.

2

일반적으로 클라이언트 코드가없는 데이터베이스 "API는"

주 변화 유지하기 위해 테이블 ​​설계 변경을 마스크 뷰를 사용하십시오 : ... 객체와 테이블이 하지 같은 일을하다