UML 클래스 다이어그램에서 C# 속성 (setter 및 getter 접근 자)을 나타내는 방법은 무엇입니까?UML 클래스 다이어그램에서 C# 접근 자 속성을 나타내는가?
일반 세터 및 게터 방법으로 작성 하시겠습니까?
또는 다른 표현 방법이 있습니까?
UML 클래스 다이어그램에서 접근자를 클래스와 인터페이스로 표현하는 방법에 관심이 있습니다.
UML 클래스 다이어그램에서 C# 속성 (setter 및 getter 접근 자)을 나타내는 방법은 무엇입니까?UML 클래스 다이어그램에서 C# 접근 자 속성을 나타내는가?
일반 세터 및 게터 방법으로 작성 하시겠습니까?
또는 다른 표현 방법이 있습니까?
UML 클래스 다이어그램에서 접근자를 클래스와 인터페이스로 표현하는 방법에 관심이 있습니다.
일부 개발자/분석가 :
(1) 쇼 매우 개념적인 것 등의 특성 및 전용 속성 당 하나의 행을 보여줍니다.
(2) 기타, 더 구체적이며 3 행, 속성, "getter"기능, "setter"기능을 표시합니다.
(3) 때때로 액세서리 2 개만 표시합니다.
(4) 일부 U.M.L. 앱 그리기. 이전에 선택한 것을 선택할 수 있습니다.
...
... 내가 조사한 한 모든 옵션이 적절합니다. 기억이 고정 관념 ("< < > >가 몇 가지 물건",
(주 클래스 문서를 수 있도록 허용됩니다. 나는 점으로 공백을 대체)
(1) 만 일반 재산 (C#을 아주 개념) :
+================================================================+ |..........................MyClass...............................| +----------------------------------------------------------------+ |..[+]..|..void....|..MyClass()...|..<<constructor>>.............| |..[+]..|..void....|..~MyClass()..|..<<destructor>>..............| +================================================================+ |..[+]..|..string..|..Text........|..<<property>>................| +================================================================+
(2) 전용 "accesors"(C++, 자바, 스타일) :
+================================================================+ |..........................MyClass...............................| +----------------------------------------------------------------+ |..[+]..|..void....|..MyClass()...|..<<constructor>>.............| |..[+]..|..void....|..~MyClass()..|..<<destructor>>..............| +================================================================+ |..[#]..|..string..|..FText.......|..<<field>>...................| +================================================================+ |..[+]..|..string..|..getText()...|..<<function>>,..<<getter>>...| +----------------------------------------------------------------+ |..[+]..|..string..|..setText()...|..<<procedure>>,..<<setter>>..| +================================================================+
(2) 모든 게 g (매우 프로그래머, 오브젝트 파스칼/델파이 스타일) :
+================================================================+ |..........................MyClass...............................| +----------------------------------------------------------------+ |..[+]..|..void....|..MyClass()...|..<<constructor>>.............| |..[+]..|..void....|..~MyClass()..|..<<destructor>>..............| +================================================================+ |..[#]..|..string..|..FText.......|..<<field>>...................| +================================================================+ |..[+]..|..string..|..Text........|..<<property>>................| +----------------------------------------------------------------+ |..[+]..|..string..|..getText()...|..<<function>>,..<<getter>>...| +----------------------------------------------------------------+ |..[+]..|..string..|..setText()...|..<<procedure>>,..<<setter>>..| +================================================================+
분석가에게 전달 하시겠습니까? C++/Java 프로그래머는 다이어그램에 속성 만 표시되면 해당 다이어그램에 액셀러레이터 코드를 지정해야하며 다이어그램에서 코드를 명시해야한다고 회사에서 알고 있습니까?
필요에 맞게 하나를 선택하십시오. (점들을 제거하십시오).
좋은 답변입니다. 나는 그것이 누가 문서를 읽을 것인지 그리고 그들이 무엇을 기대하는지에 달려 있다고 생각합니다. 당신이 그들이 무엇을 기대하는지 모르겠다면 나는 (2) 거기에 가야만 할 것이라고 생각한다. – leeand00
UML 다이어그램에서 언어 별 규칙을 표현하는 방법에 대해 정말로 걱정할 필요가 없다고 생각합니다. 결국, 이것은 설계상의 문제가 아니라 구현의 문제입니다. 다른 UML 다이어그램에서와 같이 접근 자 메서드를 표현한 다음 프로젝트의 해당 시점에 도달하면 디자인 구현을 완성하고 1 분 이내에 완료하는 것이 좋습니다.
죄송합니다. 귀하의 질문에 대한 직접적인 답변이 아니라는 것을 알고 있습니다. 그럼에도 불구하고 좋은 사례입니다.
기존 코드로 다이어그램을 작성한다면 어떨까요? –
@ Martinho : 이론 상으로는 당신의 가정은 내 대답에 아무런 영향을 미치지 않습니다. 하나는 여전히 getXXX 및 setXXX 메소드를 UML에 작성합니다. 그러나 실제로는 많은 시스템 설계자가이를 대표하는 공개 속성을 만들 것이라고 생각합니다. –
접근자를 다음과 같이 변환하지 마십시오. public string get_MyProp() {return foo; } public void set_myProp (string value) {foo = value; }? – MattC
속성으로 설정해야합니다. getter 만있는 경우에는 읽기 전용으로 설정하십시오. C# 속성에는 특정 UML이 없습니다.
오른쪽. 특정 U.M.L. 모든 언어. 각 소프트까지. Dev. 부서. 개념적 U.M.L을 구현하는 방법. 클래스 다이어그램을 특정 프로그램에 추가합니다. 랭. C#으로 허용되는 "읽기 전용"속성의 팬이 아니라 필자는 보호 된 필드, 공용 readAttribute 함수를 사용하고 코드의 다른 부분에서 필드를 수정합니다. – umlcat
너무 객관적이거나 무언가처럼이 질문에 대한 좋은 대답이 아닌 것 같습니다. – leeand00