2009-03-16 4 views

답변

0

당신이 그것을 피할 수 있다면, 당신은 아마해야합니다. 그렇지 않으면 순환 종속성에 대한 많은 문제가 발생할 수 있습니다.

그들은 실제로 서로에 대해 알아야합니까, 아니면 두 가지를 참조하는 세 번째 "제어"개념을 가질 수 있습니까?

11

일반적으로 "논리"클래스에 "GUI"클래스에 대한 지식이있는 것은 좋지 않습니다. 분리 뒤에있는 아이디어는 모델/뷰 디자인 패턴 (또는 모델/뷰/컨트롤러)입니다. 뷰에는 모델에 대한 참조가 필요합니다. 모델에 뷰에 대한 참조가 필요한 이유를 자세히 살펴보십시오. 보통 모델이 뷰 이벤트에 정보를 보내야 할 때 리스너가 사용됩니다 (예를 들어 javax.swing 테이블 및 목록 모델 참조).

5

피해야합니다. GUI에서 도메인 논리에 대한 참조를 가질 수 있지만 도메인 논리에서 GUI에 대한 참조가 없어야합니다.

왜? 그렇지 않으면 GUI & 도메인 논리를 별도의 파일로 나눌 수있는 이점이 없습니다. 귀하의 로직이 귀하의 GUI에 의존성을 가지고 있다면, 귀하는 귀하의 로직을 다른 GUI와 함께 사용할 수 없습니다.

그래서 논리에 따라 gui에이 종속성을 피하려고 시도하거나 논리를 추상화해야합니다.

나는 여기서 나 자신을 분명히하고 싶다. :)

0

로직 클래스에 뭔가 일 정치의 인터페이스를 노출 시켜서 로직 클래스가 무언가를 바꿀 때 GUI를 업데이트해야 할 수도 있습니다.

로직은 GUI 구현에 대한 직접적인 지식이 없어야하며 인터페이스 만 알고 있어야합니다.

가끔 Observer Pattern이 사용됩니다.

관련 문제