목록Java/Design Pattern (3)
MyPrograming

Proxy Pattern (프록시 패턴) 이란? - proxy는 대리인이라는 의미로, 무언가를 대신 처리한다는 뜻이다. 어떤 객체를 사용하고자 할 때, 이 객체를 직접적으로 참조하는 것이 아니라, 해당 객체를 대행(proxy)하는 객체를 통해 대상 객체에 접근하는 방식을 사용하면 해당 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있다. 또한 실제 객체의 기능이 반드시 필요한 시점까지 객체의 생성을 미룰 수도 있다. ▶ 프록시의 종류 가상 프록시 반드시 필요로하는 시점까지 객체의 생성을 연기하고, 해당 객체가 생성된 것처럼 동작하도록 만들고 싶을때 사용하는 패턴이다. 프록시 클래스에서 작업들을 처리하고, 리소스가 많이 요구되는 작업들이 필요할 때에만 주체 클래스를 사용하도록 구현한..

Factory Pattern (팩토리 패턴) 이란? 가장 유명한 디자인 패턴 중 하나인 팩토리 패턴은 구체적인 용어로, 팩토리 메서드 패턴(Factory Method Pattern)으로도 널리 알려져 있다. 팩토리 패턴은 객체를 생성하는 인터페이스는 미리 정의하되, 인스턴스를 만들 클래스의 결정은 서브 클래스 쪽에서 내리는 패턴이다. 즉 여러 개의 서브 클래스를 가진 슈퍼 클래스가 있을 때, input에 따라 하나의 자식 클래스의 인스턴스를 return 해주는 방식이다. 팩토리 패턴에서는 클래스의 인스턴스를 만드는 시점을 서브 클래스로 미룬다. 이 패턴은 인스턴스화에 대한 책임을 객체를 사용하는 클라이언트에서 팩토리 클래스로 가져온다. ▶ 팩토리 패턴의 유용성 어떤 클래스가 자신이 생성해야 하는 객체의 ..

Strategy Pattern (전략패턴) 이란? 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고, 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴으로 '행위 패턴' 의 하나이다. 즉, 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 여기서 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비지니스 규칙, 문제를 해결하는 알고리즘 등을 말한다. 전략 패턴의 특징 각 행동을 모듈화해서 독립적이고 상호 교체 가능하게 만듦 strategy, context, client 의 세 요소로 구성 client 에서 strategy 객체를 생성해 cont..