16

프로젝트 문서 용 JSF 응용 프로그램의 클래스 다이어그램을 그려야합니다. 그래서 저는 관리 빈 (bean)으로 많은 클래스를 가지므로, 많은 속성과 많은 getter와 setter가 있습니다.클래스 다이어그램에 getter 및 setters를 포함해야합니까?

클래스 다이어그램을 그릴 때 다이어그램에 getters & 세터를 포함해야합니까? 아니면 그냥 나갈 수 있을까요?

답변

14

포함하지 않는 것이 좋습니다. 접근 자 방법

+1

누가 그 행을 추가하겠습니까? 나는 UML에 빠져 있고 모든 아이디어를 얻지 못한다. – p2kmgcl

+0

@ JigarJoshi 접근 자 메소드를 추가하면 엔티티 객체를 매개 변수로 자동 전달합니다. 이 문제를 해결하는 방법 – hyperfkcb

+2

도구를 사용하는 경우 가장 좋은 방법은 "공통 접근 방법이 생략되었습니다"와 같은 주석 상자를 추가하는 것입니다. – atorres

4

Getter와 Setter를 포함하면 나쁜 생각 일 수 있습니다. 그들은 이미 클래스의 속성/속성 섹션에 표시된 정보를 복제하기 위해 "부동산"을 낭비하고 있습니다.

3

다이어그램에 getter 및 setters가 포함되어 있으면 특별한 작업 (null 확인 등)을 수행해야합니다. 그러나 그것은 나쁜 디자인의 징표이기 때문에 일반적인 대답은 "아니오,하지 말아야합니다"입니다.

+0

'뭔가 특별한 일을 할 때까지 : 널 검사 등. 그러나 그것은 나쁜 디자인의 징후입니다'당신은 setter/getter에서 null을 확인하는 것이 나쁜 것입니까? –

+1

일부 경우 null 검사가 좋지 않지만 사용 방법이 다릅니다. 최대 절전 모드 엔티티에 다음 메소드가 있다고 가정하십시오. getPerson() {if (person == null) person = new Person(); 반환 사람; }. 이 메소드는 암시 적으로 엔티티를 작성하지만,이를 수행하지 않아야합니다. –

+1

예, 확실히 디자인과 비즈니스 요구에 달려 있습니다. –

0

UML은 다소 비공식적 인 표기법입니다. 프로젝트 또는 조직에서 사용할 규칙을 먼저 설정하는 것이 가장 좋습니다. 예를 들어 getter 및 setters를 숨기는 것이 일반적이지만 모든 세부 사항을 표시하는 것이 중요 할 때도 있습니다. 규칙은 다음과 같을 수 있습니다.

속성이 개인 변수 및 동일한 가시성을 가진 getter 및 setter 쌍으로 구현되는 경우이 가시성으로 속성을 만듭니다.

속성이 개인 변수로 구현되었지만 getter 및 setter가 공용 getter 및 보호 된 setter와 같이 고유 한 가시성을 갖는 경우 getter 및 setter를 모델에 표시하는 것이 좋습니다.

그래서 아들 ...

관련 문제