2022/04/23 2

메멘토(Memento) 패턴이란?

1.메멘토 패턴이란? 이 단어를 인터넷에서 검색해봤다. 무언가를 기억하기 위한 방법이라는 것 같다. 짐작이 맞는지 한 번 알아가보자. 의도 캡슐화를 위배하지 않은 채 어떤 객체의 내부 상태를 잡아내고 실체화시켜 둠으로써, 이후 해당 객체가 그 상태로 되돌아올 수 있도록 한다. 즉, 쉽게 객체의 이전 상태를 저장하는 방법이다. 사용 시기 어떤 객체의 상태에 대한 스냅샷(몇 개의 일부)을 저장한 후 나중에 이 상태로 복구해야 할 때 상태를 얻는 데 필요한 직접적인 인터페이스를 두면 그 객체의 구현 세부사항이 드러날 수밖에 없고, 이것으로 객체의 캡슐화가 깨질 때 구조 Memento : 원조본 객체의 내부 상태를 저장 Originator : 원조본 객체. 메멘토를 생성해 현재 객체의 상태를 저장, 메멘토를 사..

중재자(Mediator) 패턴이란?

1. 중재자 패턴이란? 의도 한 집합에 속해잇는 객체의 상호작용을 캡슐화하여 객체를 정의한다. 객체들이 직접 서로를 참조하지 않도록 하여 객체 사이의 소결합을 촉진시키며, 개발자가 객체의 상효작용을 독립적으로 다양화시킬 수 있게 만든다. 즉, 여러 객체들이 소통하는 방법을 캡슐화하는 패턴이다. 사용 시기 여러 객체가 잘 정의된 형태이기는 하지만 복잡한 상호작용을 가질 때. 객체간의 의존성이 구조화되지 않으며 잘 이해하기 어려울 때 한 객체가 다른 객체를 너무 많이 참조하고, 너무 많은 의사소통을 수행해서 그 객체를 재사용하기 힘들 때 여러 클래스에 분산된 행동들이 상속 없이 상황에 맞게 수정되어야 할 때 위 상황에서 이 패턴을 사용하면 여러 컴포넌트간의 결합도를 중재자를 통해 낮출 수 있다 구조 Medi..