Prototype Pattern 객체생성을 위한 디자인패턴중 하나인 프로토타입 패턴(Prototype Pattern)에 대해서 설명하도록 하겠다. 객체생성시 비용을 줄이기 위한 패턴들이니 이점에 유의에서 읽어보도록 하자. 1. 개요 프로토타입 패턴은 동일한 객체를 여러번 생성해야 하는 비용을 줄이기 위한 고안된 패턴이다. 예를 들어 수만건의 데이터를 읽어들인 분석을 위한 기초자료를 가지는 객체가 있다고 하자. 이를 분석할때마다 로딩한다면 그 비용은 엄청 날것이다. 이런 경우에 한번만 로딩후 이객체를 계속 복제해서 사용한다면 비용을 상당히 줄일 수 있을것이다. 2. 클래스 다이어 그램 Client 복제된 객체를 이용하는 클래스 Prototype clone 메소드를 가지고 있는 인터페이스 ConcretePr..
Builder Pattern 1. 개요 복잡한 응용프로그램을 개발하다 보면 특정 기능을 위한 객체들의 관계가 복잡해질 수가 있다. 객체를 생성하기 위한 프로세스나 패턴이 동일할 경우 새로운 타입의 객체를 쉽게 추가 할수 있도록 할 수 있는 패턴이 Builder Pattern 이라고 할 수 있겠다. 자동차를 만들기 위해 동일한 공정으로 여러가지 유형의 자동차를 만들 수 있겠다. 빌더패턴을 이용하면 여러디자인의 자동차를 동일한 공정으로 만들수 있다. 2. 클래스 다이어그램 Director 빌더 인터페이스를 이용하여 복잡한 객체를 만드는 역할을 한다. Builder 대상객체의 일부를 만들기 위한 추상 인터페이스 들을 지정한다. ConcreteBuilder Builder Interface를 구현하며 대상객체 생..
프록시 패턴 (Proxy Pattern) 1. 개요 Proxy의 사전적 의미는 대리, 대리권 이라는 뜻을 가지고 있다. 실제 사용하려는 객체를 대신해서 역할을 해주는 패턴이라고 이해하면 될 것이다. 주로 원래 객체의 접근제어를 목적으로 이용된다. 어떤 이유 때문에 proxy 패턴이라 불려지는지 알아 보도록 하자. 우리가 알아볼 패턴유형으로는 Virtual Proxy, Protection Proxy, Remote Proxy 등이 있다. 2. 클래스 다이어그램 Subject interface proxy 클래스와 RealSubject 클래스가 구현을 하는 인터페이스로 Client 에서는 이 인터페이스만 알고 있으므로 내부 동작은 어떻게 이뤄지는 지 모르게 된다. Porxy class RealSubject 객체..