Goal 추상 팩토리에 대해 알아본다 객체 의존성에 대해 고찰 해보기 샘플 코드를 통한 추상 팩토리를 이해한다 추상 팩토리 패턴(Abstact Factory Pattern) 추상 팩토리 패턴은 상세화된 서브 클래스를 정의하지 않고도(= 구상 클래스에 의존하지 않고도) 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스를 제공한다. 이 인터페이스를 사용하면 코드와 제품을 생산하는 팩토리를 분리할 수 있다. 추상 팩토리 패턴은 팩토리 메서드 패턴을 좀 더 캡슐화한 방식이라고 볼 수가 있다. 왜 or 언제 추상 팩토리 패턴을 사용하는가? 객체가 생성되거나 구성, 표현되는 방식과 무관하게 시스템을 독립적으로 만들고자 할 때 여러 제품군 중 하나를 선택해서 시스템을 설정해야 하고 한 번 구성..
헤드퍼스트디자인패턴
Goal 팩토리 패턴에 대해 알아본다 팩토리 메소드에 대해 알아본다 샘플 코드를 통한 팩토리 메소드를 이해한다 팩토리 패턴(Factory Pattern) 객체 지향 디자인 패턴의 기본 원칙은 확장에 있어서는 열려 있어야 하며, 수정에 있어서는 닫혀 있어야 한다는 것이다. (OCP -개방폐쇄) 객체의 생성을 담당하는 클래스를 한 곳에서 관리하여 결합도를 줄이기 위하여 팩토리 패턴이 출현했다. 팩토리 메소드 패턴(Factory Method Pattern) 팩토리 메소드 패턴에서는 객체를 생성할 때 필요한 인터페이스를 만든다. 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정함으로써 객체 생성을 캡슐화하는 패턴이다. 즉, 어떤 클래스의 인스턴스를 만들지를 결정해서가 아니라, 생산자 클래스가 실제 생산될 제..
Goal 전략 패턴에 대해 알아보고 이해한다 전략 패턴이 필요한 경우의 예시를 알아본다 문제를 파악하고, 디자인 원칙에 대해 알아본다 디자인 원칙에 입각한 전략패턴 이해하기 캡슐화된 행동 살펴보고 이해하기 클래스를 합치는 방법은 무엇인가? 전략 패턴 (Strategy Parttern) 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴 이다. 여기서 '전략'이란 일종의 알고리즘이 될 수 도 있으며, 기능이나 동작이 될 수도 있는 특정한 목표를 수행하기 위한 행동 계획을 말한다. 왜 or 언제 전략 패턴을 사용하는가? 어떤 일을 수행하는 알고리즘이 여러가지 일때, 동작들을 미리 전략으로 정의함으로써 손쉽게 전략을 교체할 수 있는, 알고리즘 변형이 빈번하게 필요한 경우에 적합한 패턴이기 때문..
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 보호 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. https://dev-rosiepoise.tistory.com/80 [Proxy Pattern] 프록시 패턴이란? Goal 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객 dev-rosiepoise.tistory.com Goal 보호 프록시에 대해 알아보고 이해한다 보호 프록시 샘플 코드를 통해 보호 프록시를 이해한다 프록시 패턴 (Proxy Pattern) 특정 객체..
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 가상 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. https://dev-rosiepoise.tistory.com/80 [Proxy Pattern] 프록시 패턴이란? Goal 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객 dev-rosiepoise.tistory.com Goal 가상 프록시에 대해 알아보고 이해한다 가상 프록시 샘플 코드를 통해 가상 프록시를 이해한다 프록시 패턴 (Proxy Pattern) 특정 객체..
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 원격 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. https://dev-rosiepoise.tistory.com/80 [Proxy Pattern] 프록시 패턴이란? Goal 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객 dev-rosiepoise.tistory.com Goal 원격 프록시에 대해 알아보고 이해한다 RMI에 대해 알아본다 원격 프록시 샘플 코드를 통해 원격 프록시를 이해한다 프록시 패턴 (Proxy P..
Goa 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객체의 메서드를 호출하면 그 호출을 중간에 가로채느 패턴이다. 프록시 패턴에는 수많은 변종이 있고, 그리고 그러한 변종들은 대게 접근을 제어하는 방법을 다르게 제어한다. 왜 프록시 패턴을 사용하는가? 1. 원격 객체, 2. 생성하기 힘든 객체, 3.보안이 중요한 객체와 같은 다른 객체로의 접근을 제어하는 대리인 객체를 만들 수 있기 때문 프록시 패턴 사용 시 장점 객체에 대한 보안을 제공한다. 일반적으로 클라이언트는 객체에 직접 접근할 수 없다. 이는 객체가 악의적인 활동에 의해 변형될 수 있기 때문이다. ..
Goal 어댑터 패턴이란 무엇인지 알아보고 이해한다 어댑터 패턴을 사용한 코드를 이해한다 객체 어댑터와 클래스 어댑터를 이해한다 어댑터 패턴 (Adapter Pattern) 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있다. => 어댑터는 한 객체의 인터페이스를 구현하고 다른 객체를 매핑한다. 언제 어댑터 패턴을 사용해야 할까? 새로운 클래스의 인터페이스가 기존 코드를 만들 때 사용했던 인터페이스와 다를 때 사용한다. 적용 예시 기존의 코드 Duck 인터페이스와 그를 확장한 MaralldDuck가 있다고 하자 public interface Duck { public void quack(); public voi..