UML 클래스 다이어그램에서 경계 클래스, 제어 클래스 및 엔티티 클래스는 무엇입니까?
저는 이제 NetBeans를 IDE-of-choice로 사용하고 있으며 UML 모델링을위한 플러그인이 있습니다. 클래스 다이어그램에서,도 알려진 모델 요소는 Boundary Class
, Control Class
, 및 Entity Class
. 그러나 좋은 정의를 찾을 수는 없지만 UML 클래스 다이어그램 에서이 사이트 를 찾았습니다 .
OOAD 및 비즈니스 모델링과 함께 /의 일부로 자주 사용됩니다. Neil의 정의는 정확하지만 기본적으로 MVC와 동일하지만 비즈니스를 위해 추상화되었습니다. "좋은 요약"은 잘 작성되었으므로 여기에 복사하지 않겠습니다. 이것은 제 작업이 아니기 때문에 더 자세하지만 Neil의 글 머리 기호와 일치합니다.
좋은 요약-Conceito : Entity-Control-Boundary Pattern
견고성 다이어그램은 유스 케이스 이후와 클래스 다이어그램 이전에 작성됩니다. 사용 사례 단계의 역할을 식별하는 데 도움이됩니다. 이를 사용하여 구축중인 시스템의 사용 요구 사항을 나타낼 수 있을만큼 사용 사례가 충분히 견고하다는 것을 확인할 수 있습니다.
여기에는 다음이 포함됩니다.
- 배우
- 사용 사례
- 엔티티
- 경계
- 통제 수단
모델-뷰-컨트롤러 패턴이 사용자 인터페이스에 사용되는 반면, ECB (Entity-Control-Boundary Pattern)는 시스템에 사용됩니다. 도움이되는 경우 ECB의 다음 측면을 MVC의 추상 버전에 비유 할 수 있습니다.
엔터티 (모델)
종종 도메인 모델에서 시스템 데이터를 나타내는 개체입니다.
경계 (뷰 / 서비스 협력자)
시스템 행위자와 인터페이스하는 객체 (예 : 사용자 또는 외부 서비스 ). 창, 화면 및 메뉴는 사용자와 상호 작용하는 경계의 예입니다.
컨트롤 (컨트롤러)
경계와 엔티티 사이를 중재하는 개체입니다. 이러한 요소는 경계 요소와 엔티티 요소 사이의 접착제 역할을하여 다양한 요소와 해당 상호 작용을 관리하는 데 필요한 논리를 구현합니다. 설계 내에서 객체가 아닌 다른 것으로 컨트롤러를 구현하기로 결정할 수 있음을 이해하는 것이 중요합니다. 많은 컨트롤러는 예를 들어 엔티티 또는 경계 클래스의 메서드로 구현할 수있을만큼 간단합니다.
커뮤니케이션에는 네 가지 규칙이 적용됩니다.
- 액터는 경계 객체와 만 대화 할 수 있습니다.
- 경계 오브젝트는 컨트롤러 및 액터와 만 통신 할 수 있습니다.
- 엔티티 객체는 컨트롤러와 만 통신 할 수 있습니다.
- 컨트롤러는 경계 개체 및 개체 개체 및 다른 컨트롤러와 통신 할 수 있지만 액터와는 통신 할 수 없습니다.
통신 허용 :
Entity Boundary Control
Entity X X
Boundary X
Control X X X
이들은 분석에 사용되는 클래스 고정 관념입니다.
경계 클래스는 사용자 또는 다른 시스템이 상호 작용하는 클래스 인 시스템의 경계에있는 클래스입니다.
엔티티 클래스 클래스는 "사람"및 "은행 계좌"와 같은 일반적인 비즈니스 엔티티입니다.
제어 클래스는 일부 비즈니스 로직 또는 기타를 구현합니다.
실제로 견고성 다이어그램 (또는 분석 다이어그램이라고도 함)은 특수한 클래스 다이어그램 일뿐입니다. 이들은 UML의 일부이며 처음부터 사용되었습니다 ( "Three Amigos"시리즈의 일부인 Jacobson의 책 The Unified Software Development Process 참조). 앞서 언급 한 책은 pp 183-185에서이 세 가지 클래스에 대한 좋은 정의를 가지고 있습니다.
경계 제어 엔티티 패턴에는 두 가지 버전이 있습니다.
-127에 설명 된 이전 구조 (데이터 모델 요소로서의 엔티티, 기능으로서의 제어, 애플리케이션 인터페이스로서의 경계)
-새 오브젝트 패턴 오브젝트 패턴
으로서 :
-경계는 "에 대한 인터페이스입니다. other world "
-내부 로직의 제어 (DDD 패턴의 서비스와 같은)
-엔티티는 객체 (DDD 패턴의 저장소와 같은)에 대한 지속성 serwis입니다.
모든 클래스에는 작업이 있습니다 (Fowler 빈혈 도메인 모델 안티 패턴 참조)
모두 MVC 패턴의 모델 구성 요소입니다. 규칙 :
- "다른 세계"에 대한 서비스를 제공하는 Boundary 만-Boundary는
Controll에게만 호출 할 수 있음-Control은
누구에게나 호출 할 수 있음
-엔티티는 누구도 호출 할 수 없으며 (!) 호출 만 가능합니다.
jz
'code' 카테고리의 다른 글
0.5에 가장 가까운 자바 스크립트 반올림 숫자 (0) | 2020.10.11 |
---|---|
"마지막 100 바이트"인터뷰 시나리오 (0) | 2020.10.11 |
SVG에 SVG를 포함 하시겠습니까? (0) | 2020.10.11 |
기존 소스 코드 폴더에 Git 버전 제어 (Bitbucket)를 어떻게 추가합니까? (0) | 2020.10.11 |
Visual Studio에서 자동 완성이 작동하지 않음 (0) | 2020.10.11 |