이전 프로젝트를보고 있었는데 특정 레이어가 여러 레이어에서 호출되지 않도록 숨기는 방법에 대한 제안이 있는지 알고 싶었습니다. 이 3 계층 프로젝트, 웹 응용 프로그램 -> 웹 서비스 -> 데이터베이스프로젝트에서 특정 레이어의 숨기기 방법
예를 들어 사용자 개체가 있습니다. 사용자가 업데이트 될 때, 웹 애플리케이션은 User 객체를 생성하고이를 웹 서비스에 전달합니다. 웹 서비스는 DataAccessLayer를 사용하여 User 객체를 데이터베이스에 저장합니다. 이것을보고 난 후에 대신 User 클래스에 Save 메소드를 작성해야하는지 궁금합니다. 이렇게하면 서비스를 호출하고 db 업데이트를 트리거하는 사용자 개체에 저장을 호출하면됩니다.
그러나 이렇게하면 웹 응용 프로그램에서도 저장이 호출됩니다. 올바른지 확인하십시오. 웹 응용 프로그램은 동일한 User 객체에도 액세스 할 수 있기 때문입니다.
어쨌든이 문제가 있습니까? 아니면이 문제를 완전히 피하는 것이 더 좋습니까?
이상적으로 인터페이스를 사용하여 레이어간에 객체를 전달하고 싶습니다. DAL이'User' 객체 대신에 사용하는'DataLayerUser' 클래스가 있다면 그 방법으로 인터페이스의 계약을 충족시킬 필요가 있습니다. 그리고이 연습에서,'DataLayerUser'는 DAL 레이어 만 볼 수있는'Save' 메소드를 가질 수 있습니다. – Khan