![저작자표시-비영리-변경금지 88x31.png](https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png)
1. 메멘토 패턴(Memento Pattern)
메멘토 패턴은 캡슐화를 위배하지 않으면서 인스턴스의 상태를 저장하거나 이전 상태로 복원할 수 있게 해주는 패턴 입니다. 인스턴스를 복원하기 위해서는 인스턴스 내부 정보에 접근해야 하지만 접근이 제한된 부분까지 접근을 허용한다면 캡슐화가 파괴될 수 있습니다. 메멘토 패턴은 캡슐화가 파괴되지 않고 인스턴스 상태를 복원할 수 있도록 해줍니다.
![YbzRETEyidtUKxMFAe3M21E3O+J8mPlk4iIiIiKhsknERERERUNk08iIiIiKhomn0RERERUNEw+iYiIiKhovrNnzx5IklTqOIiKas+ePaUOYUPg+EIbEccXovwk3meJiIiIiIqF0+5EREREVDRMPomIiIioaP4ftgi0grQsbtoAAAAASUVORK5CYII=](data:image/png;base64,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)
메멘토 패턴으로 상태를 저장하는 코드를 작성해 보겠습니다.
Originator.java:
Originator는 메멘토를 생성하여 현재 상태를 저장하고 내부 상태를 복구하는 객체입니다. Originator 객체 이외의 객체는 메멘토 객체에 접근하지 못합니다.
Memento.java:
Memento는 Originator 객체의 내부 상태를 저장하는 객체입니다.
CareTaker.java:
CareTaker는 메멘토를 보관하지만 메멘토의 내용을 확인하거나 처리를 하지는 않습니다.
Client.java: ![wAAAABJRU5ErkJggg==](data:image/png;base64,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DfbyuPH3y7ieCF1b+/Gct4GlY3pw+eDq2yrYA/XwdYBJDCz7uTF/LdL71Uqrvvc9fCLxJkBtvIjuNxuv/O6RC+1QgkVC8NS0rN4xlYW3YQKvAj4RERGROKcsXREREZE4p4BPREREJM4p4BMRERGJcwr4REREROKcAj4RERGROKeAT0RERCTOKeATERERiXMK+ERERETinAI+ERERkTingE9EREQkzingExEREYlzCvhERERE4pwCPhEREZE4p4BPREREJM4p4BMRERGJcwr4REREROKcAj4RERGROKeAT0RERCTOKeATERERiXMK+ERERETinAI+ERERkTingE9EREQkzingExEREYlzCvhERERE4pwCPhEREZE4p4BPREREJM4p4BMRERGJc91udQNERKRzGzhw4K1uQsydPn36VjdBpEOph09EREQkzingE5EIrObGilquT8271Q2Rdpa3ooHa3U5W3+qGdDbznNTubmBbdvBVvnu6lqt/v42bHdcqkVZpSLdTeZWn7bNIxclnxSMp39O2vfQtOszcsRaoLmVl3kuxbaKPPKbumMXZGROpasejdKj8hbw/YCePFjp8Fi+wrWVm2kUOFq+gwPW+5Mzh/YJ0elbvIiuvouPbGhYrxTumcHLGBl6Pdlf9t3F93ji6vJ9Ct0OxaFsM5WxlUcE4EoOuEP7fVLqthulJ+9k0YzbnYtjEzmCBbTmD3/H6DAex+vWTzOrTh1WTemADvAd0J734GrOGdYez+3iu8M3oG/XIi7z25DAa9z3HshjsLlpTfr2aR3/ktcD5Of/49Fb+n+vxRgspjsscWXqSSutgsje23Mcdb6dw59QjXFtRyV8sz1bPinQK+hx2JjmDzC8sC0lD276bfskW4z9Jg+gbg2YF07doIaMT2vEAHW4im3JTQjzfiwcmWN2PsidY6dn+jYpKdtEcxsTkPVrNjXnjuFFdStfOFuwB7JnN+qxUVmalsjKriM+agKb9bHIva/sPqLiRv5CZaa2vlreigVlDurN/oxHs+euf2N34T0ISk2LawE7guf/Jo30+5x8fW8oC89/750fxd+/9T6Z4r1fZg/V/6I718eA9fV3K19Ot0cp/qadPOgn18HUme2azPgZfSlV5qfHT49bJ9Lx/DNk4qMTKxPt73ermdJjvnp7FdRz8xdtLb3VTpD1lX2bRT5tx/mEA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)
originator 객체의 상태가 변했을때 메멘토를 생성하여 careTaker에 저장합니다. 메멘토를 설정함으로써 이전 상태로 복구될 수 있습니다.
2. 템플릿 메소드 패턴(Template Method Pattern)
템플릿 메소드 패턴은 알고리즘의 구조를 메소드에 정의하고, 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴입니다. 상속을 통해 부모 클래스의 기능을 확장할 때 사용하는 가장 대표적인 방법으로, 객체지향 언어로 개발을 한다면 무의식적으로 사용하는 패턴입니다. 변하지 않는 기능은 부모 클래스에, 자주 변경되며 확장할 기능은 자식 클래스에 생성합니다.
이전에 데코레이터 패턴에서 작성한 라면끓이기 시나리오를 통해 템플릿 메소드 코드를 작성해 보겠습니다.
Ramen.java:
라면의 추상 클래스 입니다. 퍼샤드 패턴으로 make 메소드를 실행시 라면을 끓이는 메커니즘이 순차적으로 실행됩니다. 물을 끓이고 면을 넣고 3분을 기다리는 메커니즘은 공통된 메커니즘으로 부모 클래스인 Ramen에 작성합니다.
CheeseRamen.java:
KimchiRamen.java:
SeafoodRamen.java:
김치라면, 치즈라면, 해물라면은 들어가는 재료가 다르므로 자식 클래스에 작성합니다. 객체지향에 조금 위배되지만 예제 코드이므로 위와 같이 라면의 종류에 따라 클래스를 작성했습니다.
Main.java:
각 라면의 객체를 만들고, make 메소드를 통해 라면을 끓이는 메커니즘을 실행합니다.
출력해보니 라면스프를 빼었네요.. 어찌되었든 각종 라면 끓이기 매커니즘이 출력되었습니다!
템플릿 메소드 패턴은 중복된 코드를 줄일 수 있으며, 알고리즘 구조의 변경 없이 알고리즘을 재정의 할 수 있습니다. 반면에 추상 메소드가 많아지면 클래스 관리가 복잡해지는 단점이 있습니다.
3. 방문자 패턴(Visitor Pattern)
방문자 패턴은 데이터 구조와 처리를 분리하는 패턴입니다. 처리를 담당하는 방문자가 데이터 구조(방문공간)를 돌아다니면서 데이터 처리를 합니다. 즉, 방문공간 객체가 방문자에게 처리를 위임하는 형태가 됩니다.
![h9m30ZxO6CBAwAAAABJRU5ErkJggg==](data:image/png;base64,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)
Visitor는 방문자 클래스의 인터페이스이며, ConcreteElement 클래스에 대한 visit 메소드를 선언합니다. ConcreteVisitor는 Visitor 인터페이스를 구현한 클래스이며, ConcreteElement의 역할을 처리합니다. Element는 방문장소를 나타내며, 방문자를 받아들이는 accept 메소드를 정의하고 있습니다. ConcreteElement는 Element 인터페이스를 구현합니다. ObjectStructure는 Element를 나열하고 방문자로 하여금 Element에 접급하게 하는 인터페이스를 제공합니다. 리스트나 집합 같은 컬렉션이 될 수도 있으며, 컴포지트 패턴의 복합 객체일 수도 있습니다.
예제 코드를 작성하겠습니다. 폴더를 순회하면서 디렉토리와 파일 이름을 출력하는 시나리오 입니다.
Visitor.java:
방문자 인터페이스 입니다. 파일과 디렉토리 객체를 방문하는 visit 메소드를 정의합니다.
ViewVisitor.java:
방문자 인터페이스를 구현한 클래스 입니다. visit 메소드를 통해 방문 장소의 처리를 위임 받습니다.
Element.java:
방문장소 인터페이스 입니다. 방문자를 참조하는 accpet 메소드를 정의합니다.
Entry.java:
방문장소인 엔트리의 추상 클래스 입니다.
File.java:
엔트리를 구현한 파일 클래스 입니다.
Directory.java:
마찬가지로 엔트리를 구현한 디렉토리 클래스 입니다. 컴포지트 패턴을 통해 엔트리 복합체를 형성하고 있습니다.
Main.java:
root, home, pi 디렉토리를 만들고 add 메소드를 통해 root/home/pi/ 형태로 depth를 설정합니다. file1, file2, file3 객체도 만들어서 pi 폴더에 넣어줍니다.
방문자를 만들어서 루트부터 방문하면 순차적으로 모든 엔트리를 방문하면서 경로를 출력합니다.
방문자 패턴은 예제와 같이 트리 형태의 복잡한 자료구조를 순회할 때 사용하면 좋습니다. 이 패턴은 데이터와 알고리즘이 분리되어 데이터의 독립성을 증가 시킬 수 있다는 장점이 있는 반면에 방문자의 visit 메소드와 Element(방문장소)의 accept 메소드가 상호 의존하고 있으므로 결합도가 커진다는 단점이 있습니다. |