• Gof 디자인패턴_템플릿 메서드(Template Method)

    템플릿 메서드(Template Method) 의도 객체의 연산에는 알고리즘의 뼈대만을 정의하고 각 단계에서 수행할 구체적 처리는 서브클래스 쪽으로 미룬다. 알고리즘의 구조 자체는 그대로 놔둔 채 알고리즘 각 단계 처리를 서브클래스에서 재정의할 수 있게 한다. 활용성 다음 상황에서 템플릿 메서드를 사용할 수 있다. 어떤 한 알고리즘을 이루는 부분 중 변하지 않는 부분을 한...


  • Gof 디자인패턴_전략(Strategy)

    전략(Strategy) 의도 동일 계열의 알고리즘군을 정의하고, 각 알고리즘을 캡슐화하며, 이들을 상호교환이 가능하도록 만듭니다. 알고리즘을 사용하는 클라이언트와 상관없이 독립적으로 알고리즘을 다양하게 변경할 수 있게 한다. 활용성 다음 상황에서 전략 패턴을 사용할 수 있다. 행동들이 조금씩 다를 뿐 개념적으로 관련된 많은 클래스들이 존재할 때. 전략 패턴은 많은 행동 중 하나를 가진 클래스를...


  • Gof 디자인패턴_상태(State)

    상태(State) 패턴 의도 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴으로, 이렇게 하면 객체는 마치 자신의 클래스를 바꾸는 것처럼 보인다. 활용성 다음 상황 가운데 하나에 속하면 상태 패턴을 사용할 수 있다. 객체의 행동이 상태에 따라 달라질 수 있고, 객체의 상태에 따라서 런타임에 행동이 바뀌어야 한다. 어떤 연산에...


  • Gof 디자인패턴_감시자(Observer)

    감시자(Observer) 패턴 의도 객체 사이에 일 대 다의 의존 관계를 정의해 두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지받고 자동으로 갱신될 수 있게 만든다. 동기 어떤 하나의 시스템을 서로 연동되는 클래스 집합으로 분할했을 때 발생하는 공통적인 부작용은 관련된 객체 간에 일관성을 유지하도록 해야...


  • Gof 디자인패턴_메멘토(Memento)

    메멘토(Memento) 패턴 의도 캡슐화를 위배하지 않은 채 어떤 객체의 내부 상태를 잡아내고 실체화시켜 둠으로써, 이후 해당 객체가 그 상태로 되돌아올 수 있도록 한다. 동기 때에 따라서는 객체의 내부 상태를 기록해 둘 필요가 있다. 그러나 객체는 자체적으로 상태의 일부나 전부를 캡술화하여 상태를 외부에 공개하지 않기 때문에, 다른 객체는 상태에 접근하지 못한다....