2013-02-08 1 views
3

메인 클래스 (비 GUI 프로그램의 다른 모든 클래스를 제어)가 다른 클래스와 어떤 관계가 있는지 궁금해 했나요?드라이버 클래스 (Main 클래스)가 연관, 집계 또는 컴포지션입니까?

예를 들어 주 메소드를 포함하는 클래스에서 인스턴스화 된 클래스와 주 메소드가 리턴 값을 얻는 등 상호 작용하는 클래스.

편집 : UML에도 포함되어야합니까? 내 교수가 그것을 포함하기 때문에 (나는 그것이 심지어 운전자 클래스라고 불렀다는 것을 몰랐다.) 그리고 독서 책에는 분명히 그것을 포함하고 있지 않다. 이것은 숙제가 아니다.

상호 작용할 수 있기 때문에 연관성이있을 수 있습니다. 또한 여러 클래스로 구성되어 있기 때문에 집계가 될 수도 있습니다. 그리고 클래스 (프로그램 구현에서)가 없으면 클래스가 이해되지 않으므로 컴포지션이 집계이고 차례로 집계가 일종의 연관이기 때문에 그 구성을 생각합니다. 몇 가지 답변이 이미 내 답변과 같이 소리를 게시했지만 잘못되었습니다.

그것은 단지의 Kickstarter 클래스입니다
+0

도움이 될 수도있다 용도, 당신은 왜 그것을 생각합니까? 세 가지 용어에 대해 알고 있기 때문에 각 용어가 의미하는 바를 알고있을 것입니다. (숙제처럼 들리므로,이 질문을하는 이유입니다.) –

+0

@ SimonAndréForsberg 하하 ive는 내 대답을 올렸습니다. 다른 응답은 그 중 아무도 대답하지 않았기 때문에 내가 잘못한 것 같아요. – latenightcode

+0

죄송합니다. 처음 편집 한 후에 숙제가 아니라 진짜 관심사라고 말할 수있었습니다. 그리고 그것은 좋은 질문입니다. +1. –

답변

4

없음에서 클래스 패러다임을 단지 스타터를 유지하고 구축 할 수 있습니다. 주된 방법은 정적입니다. 그래서 어떤 대상에도 속하지 않습니다. 그래서 당신은 어떤 연관성도 가지고 있지 않습니다. 주된 방법 은 다른 클래스의 인스턴스 인을 사용합니다.

+1

기본 메소드가 입력을 처리하는 콘솔 기반 TicTacToe 게임에 대해 UML 클래스 다이어그램을 만들어야한다고 가정 해보십시오. 아마도 클래스 다이어그램에서 필요하게 될 것입니다. 당신은 그 문제에 대해서도 시퀀스 다이어그램을 가지고있을 것입니다. –

+0

@SotiriosDelimanolis 인스턴스화되지 않은 UML 다이어그램의 클래스는 필요하지 않을 수 있습니다. 그 클래스는 단순히 클래스 다이어그램 모델이 우주의 측면에 참여하지 않습니다. –

+1

코드 나 텍스트 설명보다 다이어그램에서 더 잘 설명되는 디자인 부분을 UML을 사용하여 설명하기도합니다. 다이어그램이 코드의 기능을 정확히 나타내지 않는지 상관하지 않습니다. 중요한 점은 큰 그림을 보여 주어야하기 때문입니다. 시퀀스 다이어그램에서 실제로 그것을 보여 주어야한다면 시퀀스 다이어그램에서 "main"이라는 가짜 객체 또는 액터를 사용하게 될 것입니다. 어떤 클래스 다이어그램에도 나타나지 않습니다. –

2

, 당신은이 중 하나를 취할 수정할 수 있지만 더 나은이의이

3

메인 클래스를 인스턴스화 할 필요가 전혀 없으므로 UML 다이어그램의 어느 곳에 나 반드시 포함될 필요는 없지만 이 인스턴스화되어 나머지 프로그램과 관계를 맺을 수 있습니다 . 책과 교사는 각각의 경우에 적합 할 수 있습니다.

BTW는 클래스 간의 연결을 static 메서드 main이 참조하는 것과 혼동하지 마십시오. main 메서드 자체는 확실히 외부의 UML 패러다임입니다.

1

그리고 UML에 포함 시키려면 왜 포함시켜야합니까? 다른 디자인 패턴에 대한 연구 - 당신은 관계에 대해 알게하고

discussion 당신이 자신을 어떻게 생각하십니까 당신에게

관련 문제