MVC Pattern 이란
- MVC 패턴은 두 개 이상의 패턴을 결합해서 문제를 해결하는 솔루션으로 만든 Compound Pattern(복합패턴)
- 사용하는 패턴 : Strategy pattern / Observer pattern /Composite pattern
- MVC를 구성하는 세 가지 객체
• Model : Application 객체 (Observer 객체)
→ makes use of the Observer pattern so that it can keep observers updated, yet stay decoupled from them.
→ observer를 업데이트하면서도 observer와 분리 상태를 유지할 수 있음
• Controller : UI가 사용자 입력에 반응하는 방식을 정의
→ use Strategy Pattern
→ The view can use different implementations of the controller to get different behavior.
→ View의 gesture를 처리
• View : UI(화면 표시)
→ use Composite Pattern
→ implement the user interface, which usually consists of nested components like panels, frames, and buttons.
→ 자체로써 계층적 구조를 가짐
=> decouple the three players in the MVC model, which keeps designs clear and flexible.
Quiz) MVC 패턴의 클래스 다이어그램을 보면 Model이 View에 대한 약한 결합 관계를 보이고 있는데 이러한 제한이 왜 필요한지, 또한 구체적으로 어떻게 구현되는지 설명하시오.
→ 필요성 : 잦은 UI의 변화가 Model의 변화로 자동 파급되지 않도록 하기 위해 Model과 View 사이에 약할 결합이 필요합니다. UI가 교체되더라도 Model은 그대로 재사용이 가능합니다.
class Model extends Observable {
// ...
void changeNotification () {
setChanged();
notifyObservers();
}
// ...
}
본 글은 개인의 S/W 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
'SW 공부 > Design Patterns' 카테고리의 다른 글
[디자인패턴] 각 패턴의 특징과 핵심 요약 (681) | 2022.09.26 |
---|---|
[디자인패턴] Design Pattern의 종류와 활용하기 (2) | 2022.08.29 |
[디자인패턴] Bridge pattern (브릿지 패턴) (2) | 2022.08.28 |
[디자인패턴] Composite Pattern (컴포지트 패턴) (4) | 2022.08.28 |
[디자인패턴] Adapter pattern (어댑터 패턴) (2) | 2022.08.28 |
댓글