2011-11-03 1 views
1

현재 .NET 기반 응용 프로그램 (ASP.NET, WCF, Castle Windsor, NHibernate 스택)에서 도메인 기반 디자인의 원칙을 적용하려고합니다.처리 방법 도메인 기반 디자인을 사용하는 동안 엔티티에서 업데이트/수정

질문은 테이블 수준에서 우리는 (문자열)을 업데이트하고 주문을 위해 (날짜/시간)을 업데이트했습니다. 주문이 승인되면 업데이트 된 버전을 가져와 승인자 이름과 승인 된 날짜/시간을 반영하여 업데이트해야합니다.

여러분은 애플리케이션 계층에서 다음과 같은 작업을 수행합니까?
순서를 알려 주시기 바랍니다 = orderRepository.Find (OrderID를) order.businessLogicCall1()
order.businessLogicCall2()
order.updatedBy (사용자 이름)
orderRepository.Save (순서)

어디 order.updatedBy() 호출은 또한 업데이트가 수행 된 날짜/시간에 대한 내부 필드 updatedOn을 업데이트합니다. Nhibernate가 테이블에 게시합니다.

답변

1

이유가 없습니다. 승인 (anApprover, approvalDate) anApprover가 승인 한 사람은 어디입니까? 그것이 DB에서 어떻게 표현되는지는 당신에게 달렸습니다. 그와 직결되는 것은 각 영향받는 개체와 함께 작업을 수행 한 사람 (최종 사용자 일 수 있음)을 저장하는 지속성 메커니즘입니다. 이러한 종류의 스토리지는 비즈니스 적 의미가 적습니다.

+0

네, 당신의 생각은 좋고 말이됩니다. 따라서 해당 비즈니스 운영이 이루어지는 마지막 수정 날짜를 업데이트합니다. – Gopal

관련 문제