2011-09-12 3 views
4

기본적으로 나는 Gui 클래스에서 텍스트를 인쇄하고 추가하는 메서드가 있으며,이 메서드를 내 Player 클래스와 같은 다른 클래스에서 사용해야합니다. 어떻게 그 방법을 사용합니까? 플레이어 클래스에서 다른 Gui 객체를 만들면 잘못된 JPanel을 생성하게됩니까? 그 방법을 다른 수업으로 옮길 필요가 있다면 제 손님이 그것을 제안해야합니다. 고마워요! Player 클래스는 GUI 클래스의 메소드를 호출 할 필요가있는 경우다른 클래스에서 인스턴스화 된 객체의 메서드는 어떻게 사용합니까?

+0

예, 표시된 GUI와 다른 개체가 아니기 때문에 다른 GUI 개체를 만드는 것은 좋지 않습니다. StriplingWarrier의 제안 (1+)은 현재 시각화 된 GUI 객체에 대한 참조를 제공하므로 훨씬 좋습니다. –

+1

실제로, 아니요 - 당신은 그 방법을 사용할 필요가 없습니다. 그것은 당신의 디자인 결정입니다. 뷰 클래스를 데이터 클래스에 연결하기 때문에 나쁘다. – kleopatra

답변

5

, 왜 Player 클래스는 생성자의 인수로 GUI 인스턴스를 가지고 있지? 따라서 코드가 무엇이든 Player을 생성하면 어떤 방법 으로든 GUI을 사용해야합니다.

이것은 의존성 주입 (dependency injection)으로 알려진 방법으로 일반적으로 싱글 톤이나 정적 방법보다 우월한 것으로 간주됩니다.

+2

여기 의존성 주입에 대한 잘 알려진 기사가 있습니다. http://martinfowler.com/articles/injection.html – avh

+0

정말 고맙습니다. –

관련 문제