ASP.NET에서 3 계층 아키텍처로 웹 응용 프로그램을 만들고 싶습니다. 그러나 순환 참조에 문제가 있습니다.3 계층 아키텍처의 순환 참조 문제 C#
- 애플리케이션 레이어 함유 UI :
I는 3 층을 갖는다.
- 모든 로직 및 도메인 클래스를 포함하는 비즈니스 계층.
- 모든 데이터베이스 상호 작용 방법이 포함 된 데이터 계층입니다.
나는 데이터베이스 작업을 수행하는 비즈니스 계층에서 데이터 계층 방법을 사용하고 이러한 방법에서 나는 데이터 계층에 도메인 클래스 객체를 전달해야하지만이 때문에 순환 참조를 할 수 없습니다.
예를 들어, 일부 속성 및 메서드가 포함 된 Person
도메인 클래스가 있습니다. 이제 데이터베이스에 Person
을 삽입하고 싶습니다. Person 클래스에 InsertPerson()
이라는 메서드가 있습니다. 이 메서드 본문에서는 데이터베이스에 삽입 할 데이터 영역의 함수를 호출해야합니다. 그러나 데이터 레이어 참조가 비즈니스 레이어에 추가되고 전체가 사람 개체를 데이터 레이어 메서드로 전달할 수 없으며 그 반대로도 불가능합니다.
이 문제를 어떻게 피할 수 있습니까? 제발 제안 해주세요.
은 1입니다. 모든 비즈니스 ob의 기본 클래스가 있습니다. 비즈니스 및 데이터 계층 모두에 대해 알고 있어야합니다. 그것은 그것의 테이블을 알고 행과 연결되어 있습니다. 2. 저장하려면 데이터 계층이 행을 가져 와서 스키마를 검사하고 쿼리를 저장하여 저장 한 다음 해당 테이블에 저장하면됩니다. 3.로드하기 위해 데이터 계층은 businessObject가 하위 클래스로 만드는 유형을 전달하고 테이블에서 가져 오는 행에서 형식의 생성자를 반사 적으로 사용합니다. – Patashu
필자의 의도를 명확하게 설명하기 위해 필자의 대답에 편집을 추가했습니다. –