나는 기본적으로 같은 일을 할 수있는 (설계) 응용 프로그램이 있습니다 :제정신 디자인 대안
클래스 홈페이지, 클래스 BusinessLogic, 클래스 후 UserInterface
BusinessLogic 및 후 UserInterface는 라이브러리 등이 될 수 있도록 설계되었습니다 -하지에 - 지속적으로 개발되었지만, 클래스 Main에서 개발자가 사용했습니다.
BusinessLogic의 생성자는 또한 텍스트 기반 메뉴를 표시하고 터미널 입력을받는 UserInterface를 인스턴스화합니다. 이 입력에 따라 해당 BusinessLogic 객체의 관련 메소드를 호출하여 관련 기능을 실행합니다.
그러나 이것은 순환 참조이며 UserInterface가 해당 BusinessLogic 객체를 호출하는 명백한 방법이 없습니다 (BusinessLogic 객체 식별자를 하드 코드하지 않고도 더 나쁜 습관입니다!).
이것은 논리적 인 디자인으로 보이지만 프로그래밍 측면에서 구현하기가 어렵습니다.
하나의 대안은 UI가 BusinessLogic의 생성자로 입력 데이터를 반환하도록하는 것이지만 BusinessLogic이 입력 분석을 처리하지 못하도록하고 UI가이를위한 합리적인 장소 인 것처럼 보입니다.
아이디어가 있으십니까?
"BusinessLogic 개체 식별자가 하드 코드 된"은 "부모"BusinessLogic UserInterface 필드로 의미하는? –