2024/05/01 2

[디자인패턴] 행동 패턴 - Command 패턴

Command (커맨드) 패턴이란커맨드 패턴은 행동 패턴 중 하나로, 요청을 요청 정보를 가지고 있는 독립 실행 객체로 전환하는 패턴을 말한다. 이 변환을 통해, 요청을 메서드 파라미터로 넘기거나, 요청의 실행을 지연 또는 큐에 넣기, 되돌리기 기능 등을 지원 가능한 패턴한다. 등장 배경텍스트 에디터 앱 제작시 (좌) 각 버튼들에 공통된 기능이 추가가 필요하다고 가정 (ex. 툴 바를 위한 핸들러)  가장 간단한 방법은 버튼 종류 마다 중복된 코드를 작성하는 것. 해결책비즈니스 로직과 UI 분리 처럼, GUI 객체가 요청을 직접 보내는 대신에, 요청 디테일을 추출하고, 호출되는 객체, 메서드 이름, 파라미터 리스트를 해당 요청을 발생 시키는 분리된 커맨드 클래스로 옮겨 진행.  즉 커맨드 객체는 여러 G..

[디자인패턴] 행동 패턴 - 옵저버 패턴

옵저버 패턴 이란?Observer 패턴은 관찰 중인 개체(주제, subject)에 이벤트가 발생시, 다른 개체들(구독자, observer)에 알리는 메커니즘으로 주제에 변화가 있으면 갱신 내용을 observer에 전달한다. 한 객체의 상태가 바뀌었을 때, 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식은 일(주제)대다(구독자)의 의존성을 가진다고도 정의할 수 있다. 이러한 메커니즘을 구독 메커니즘이라고도 하며, Subject, Observer / Subscriber - Publisher 라고도 많이 지칭한다.기술적인 예시는 메세지 큐(Message Queue) 시스템 활용시 / Event-Driven Systems 등에서 사용 될 수 있다.  특징Subscriber(구독자)와..