개인 및 공개 메서드가있는 DataMapper 클래스가 있습니다. DataMapper 클래스 자체는 자동 생성 코드이기 때문에 시스템 계층에 있습니다. 사용자 (개발자)는 도메인 계층 (또는 비즈니스 논리 계층)에서 DataMapper 클래스를 사용합니다.두 레이어를 통해 메서드의 가시성을 분리하는 방법은 무엇입니까?
DataMapper에는 프레임 워크에서만 사용되며 사용자에게 표시하고 싶지 않은 메서드가 있습니다. 그러나 프레임 워크 클래스가 이러한 메서드를 호출 할 수 있어야하므로 이러한 메서드를 비공개 또는 보호 할 수 없습니다. 그러나 사용자는해서는 안됩니다.
1)은 "개인 API"의 표시하기 위해, 메소드 이름의 앞에서 _ 밑줄을 추가 : 내가 생각
하나 개의 옵션이었다.
2) 메서드에 "key"라는 매개 변수를 추가합니다. 전체 프레임 워크는 이러한 메서드를 전달하는 비밀 키를 알고 있습니다. 메서드는 키를 평가합니다. 괜찮 으면 메서드가 실행되고, 그렇지 않으면 예외가 throw됩니다.
내 레이어에서 이러한 메소드의 가시성을 어떻게 분리 할 수 있습니까? 인터페이스를 봐야합니까?