2009-09-28 2 views
3

나는 현재 C++에서 몇 가지 네임 스페이스의 클래스 다이어그램을 그리려하고있다.UML에서 네임 스페이스/패키지 범위 메소드/변수를 그리는 방법은 무엇입니까?

지금은 네임 스페이스 내부의 일부 변수 및 메서드 (무료, 클래스의 일부가 아님)는 네임 스페이스 API의 일부이며 다른 클래스는 일부 클래스 API의 외부 부분입니다 (예 : < < 등).

네임 스페이스 API를 노출하는 메소드/변수를 표현할 의향이 있지만 표준 UML 도구로이를 수행하는 방법을 찾을 수 없으며 인터넷에서 관련 정보를 찾을 수 없습니다.

모든 힌트가 필요하십니까?

답변

1

UML은 객체 지향 설계를 모델링하기위한 것으로, 구현 관용구를 모델링하기위한 것이 아닙니다. Single Responsibility Principle의 원칙을 적용하여 핵심 클래스 또는 처리기 클래스에서 함수가 있어야 할 위치를 결정합니다.

1

UML을 사용하면 지향적 인 객체 응용 프로그램을 디자인 할 수 있습니다. 클래스 다이어그램은 이름이 명시 적이므로 응용 프로그램의 클래스와 링크를 나타냅니다.

개념이므로 언어에 간섭이 없습니다. 네임 스페이스에서 모든 클래스에서 함수를 작성하는 방식은 객체 지향이 아닙니다. 따라서 당신은 객체 지향 개념으로 표현할 수 없습니다.

이러한 정적 함수가 포함 된 클래스를 만드는 것이 좋습니다. 그런 다음 다이어그램에서이를 나타낼 수 있습니다.

+1

사실, [비 멤버 메소드는 객체 캡슐화를 향상시킵니다.] (http://www.ddj.com/cpp/184401197), 객체 지향적이지 않은 문제가 아니며, UML 제한이 될 수 있습니다. 내가 무언가를 놓친 경우에 대비하여, 나는 묻고있다. –

+0

그의 경우에는 UML 제한 사항입니다. 내 제안은 자신의 코드를 수정하지 않고 다이어그램의 기능을 표현할 수있게하는 것이 었습니다 (하지만 내 설명이 모호했습니다) –

관련 문제