N 계층 응용 프로그램에서 웹 사이트는 비즈니스 참조 계층에 액세스하고 비즈니스 계층 DTO를 가져 오기 위해 웹 참조에 연결됩니다. 예를 들어, BL은 자동차에 대한 정의를 제공 할 수 있습니다 : 내 ASP.NET MVC 웹 사이트에서비즈니스 레이어에서 프리젠 테이션 레이어로 이름 충돌 매핑을 처리하는 방법은 무엇입니까?
public class Car() {
public string Make { get; set; }
public string Model { get; set; }
. . .
}
을, 나는 내 자신의 자동차 모델 객체를 생성해야합니다. (아마 필드를 추가/제거하거나 데이터 주석을 통해 유효성 검사를 추가 할 수 있습니다.)
이미 Car라는 이름 공간에 개체가 있으므로 내 모델 개체의 이름을 다른 것으로 지정해야합니다. 실제로 개체에 대한 더 좋은 이름은 없습니다. 이러한 이름 충돌을 처리하는 더 쉬운 방법이 있습니까? 또는 모델을 완벽하게 검증 할 수는 있지만 이상적이지는 않습니다.
또 다른 가능성은, 내가 BL에서 개체를 사용할 수 있지만 유효성 검사를 위해 데이터 주석을 추가 할 수 있도록 확장 할 수 있습니까?
현재 해결 방법은 DL 개체에'Model'을 추가하는 것입니다. 문제는 코드의 가독성을 어느 정도 줄이고, 애플리케이션의 특성을 고려할 때 'CarModel'이 자동차 모델 (Murcielago)과 모호하거나 혼란 스럽다는 점입니다. –
당신은'ViewModel'을 추가 할 수 있습니다,하지만 약간 자세한 정보를 얻기 시작합니다. 프리젠 테이션 레이어에 많은 양의 복잡한 코드가 있습니까? – Kazetsukai