답변

0

음, 모든 세부 정보는 제쳐두고 : 예.

NH는 객체 관계형 매퍼이며 '도메인 기반 디자인'이라는 아키텍처 스타일로 사용하기위한 것입니다. 중요한 점은 데이터를 저장하고로드하는 것 이외에는 데이터베이스를 완전히 무시한다는 것입니다.이 개념을 지속성 무시 (Persistence Ignorance)이라고하며 해당 좌우명은 입니다. 데이터베이스가 없습니다.

이 관점에서 비즈니스 로직을 저장 프로 시저 또는 다른 db 객체에 저장하는 것은 낙담 할뿐만 아니라 심각한 코드 냄새가 될 것입니다.

선호하는 도메인 기반 디자인 방법론을 따르는 경우 비즈니스 계층을 구축 할 때 db가 없기 때문에 비즈니스 로직을 db에 배치 할 수있는 기회가 없습니다.

+0

본인은 이에 동의하지만 NH이 저장 프로 시저 및 DDD가 아닌 데이터베이스를 잘 지원하므로 기존 데이터베이스가 기본 스타일을 따르지 않을 때도 사용할 수 있습니다. Google은 여러 데이터베이스 (DDD 및 NH 용으로 제작 된 앱) 및 매우 오래된 학교 용 앱에서 데이터 액세스에 NH를 사용합니다. –

1

NHibernate는 '도메인 기반'방법론을 사용하여 빌드 된 응용 프로그램에 매우 적합한 O/R 매퍼입니다.
이러한 응용 프로그램에서 도메인 모델은 비즈니스의 표현이 풍부한 객체 지향 모델입니다. 즉, '모델'에는 비즈니스 로직의 전부 또는 대부분이 포함됩니다.
그런 경우 비즈니스 로직을 저장 프로 시저에 넣을 상황은 거의 없습니다.

+0

이렇게 많이 설명됩니다. 나는 많은 로직이 기존 데이터베이스 객체 내에 포함되어있는 기존의 데이터베이스 구조 위에 객체 "레이어"를 작성해야한다는 과제를 안고있었습니다. –

관련 문제