본문 바로가기
728x90
반응형

설계/디자인패턴5

[디자인패턴] 템플릿 메서드(Template Method) 패턴 이해하기 안녕하세요. J4J입니다. 이번 포스팅은 템플릿 메서드 (Template Method) 패턴에 대해 적어보는 시간을 가져보려고 합니다. Template Method 패턴이란? template method 패턴은 상위 클래스에서 공통으로 사용되는 템플릿을 제공하여 하위 클래스에서 구체적인 단계를 재 정의할 수 있도록 도와줍니다. template method의 기본 구조는 다음과 같습니다. 구조를 보시면 상위 클래스에서는 공통으로 재 사용될 수 있는 메서드 (= Template Method)를 제공하고 있습니다. 그리고 하위 클래스 별로 상세 로직을 정의할 수 있도록 추상 메서드 (= Primitive Method)를 제공하고 있습니다. 개인적으로 template method는 구조만 확인하더라도 어떤 목적.. 2024. 4. 22.
[디자인패턴] 팩토리 메서드(Factory Method) 패턴 이해하기 안녕하세요. J4J입니다. 이번 포스팅은 팩토리 메서드 (Factory Method) 패턴에 대해 적어보는 시간을 가져보려고 합니다. Factory Method 패턴이란? factory method 패턴은 객체 생성을 상위 클래스가 아닌 하위 클래스에서 생성하도록 도와주는 패턴으로 하위 클래스에 의해 어떤 객체가 생성될지 결정되는 디자인 패턴입니다. factory method 패턴을 이해하기 위해선 하위 클래스에서 어떻게 생성을 할 수 있는지를 파악해야 합니다. 일반적으로 특정 객체를 생성하려고 한다면 new 연산자를 이용하여 객체들을 생성할 것입니다. 그리고 서로 다른 객체이지만 동일한 클래스를 사용해야 되는 경우 자연스럽게 다음과 같은 코드가 작성될 것입니다. Product productA = new.. 2024. 4. 22.
[디자인패턴] 퍼사드(Facade) 패턴 이해하기 안녕하세요. J4J입니다. 이번 포스팅은 퍼사드(Facade) 패턴에 대해 적어보는 시간을 가져보려고 합니다. Facade 패턴이란? facade 패턴은 서비스에 존재하는 복잡한 구조의 서브 클래스들을 간략화하여 사용할 수 있도록 인터페이스를 제공해 주는 디자인 패턴입니다. 개념적인 부분으로 접근했을 때는 어떤 말인지 이해하기 어려울 수 있으나 facade 패턴에 대해 간단하게 얘기해보면 중간 다리 역할을 하는 객체를 생성하는 패턴이다라고 생각하시면 됩니다. facade 패턴의 구조에 대해서 그림으로 표현해보면 다음과 같습니다. facade 패턴을 사용하지 않는다면 기능을 사용해야 하는 client 입장에서는 다양한 서브 클래스들에 모두 접근해야 될 수 있습니다. 하지만 이런 client의 접근은 서비스.. 2024. 4. 1.
[디자인패턴] 싱글톤(Singleton) 패턴 이해하기 안녕하세요. J4J입니다. 이번 포스팅은 싱글톤(Singleton) 패턴에 대해 적어보는 시간을 가져보려고 합니다. Singleton 패턴이란? singleton 패턴은 객체를 생성할 때 클래스 별로 각 하나의 객체만 생성하여 사용될 수 있도록 도와주는 디자인 패턴입니다. 많은 분들이 경험해 보셨겠지만 개발을 할 때 클래스 내부에 정의되어 있는 기능을 사용하기 위해 다양한 곳에서 객체를 생성하게 됩니다. 그리고 생성된 객체를 이용하여 내부에 정의되어 있는 여러 메서드 및 함수들을 활용하게 됩니다. 하지만 여러 장소에서 각각 객체를 생성하는 행위는 모두 자원을 필요로 합니다. 객체가 생성될 때마다 각 객체의 정보들이 담겨야 하는 메모리 공간을 차지하기 때문입니다. 또한 다양한 곳에서 생성된 객체들은 모두 .. 2024. 3. 30.
[디자인패턴] 빌더(Builder) 패턴 이해하기 안녕하세요. J4J입니다. 이번 포스팅은 빌더(builder) 패턴에 대해 적어보는 시간을 가져보려고 합니다. Builder 패턴이란? builder 패턴은 객체 생성을 유연하게 할 수 있도록 도와주는 디자인 패턴 중 하나입니다. 자바 관점에서 확인했을 때 객체 생성을 할 때 보통 사용될 수 있는 것은 생성자를 활용하는 것입니다. 파라미터 정보가 하나도 들어있지 않은 default 생성자부터 원하는 파라미터 정보로 구성된 생성자까지 활용하여 객체를 생성할 수 있습니다. builder 패턴은 생성자와 유사하게 객체 생성을 도와주지만 생성하는 방법을 다양하게 구성해 볼 수 있습니다. 클래스 내부에 builder 패턴을 적용하기 위한 설정만 해둔다면 객체 인스턴스를 생성해야 되는 곳에서 메서드 체이닝을 활용하.. 2024. 3. 23.
728x90
반응형