템플릿 메서드를 GOF 디자인 패턴에서는 다음과 같이 정의한다.템플릿 메서드 디자인 패턴의 목적은 다음과 같습니다. "작업에서 알고리즘의 골격을 정의하고 일 부 단계를 하위 클래스로 연기합니다.템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를 변겨하지 않고도 알
템플릿 메서드 패턴의 한계인 상속의 단점을 제거한 디자인 패턴이 전략이 전략 패턴이라고 했다. 전략 패턴이란 무엇일까?템플릿 메서드 패턴은 템플릿을 만들고 해당 템플릿을 자식이 상속받아 사용하는 패턴이었다. 전략 패턴은 변하지 않는 부분을 Context라는 곳에 두고,
템플릿 메서드 패턴과 전략 패턴에 대해 알아보다 보니 템플릿 콜백에 대해서도 알고 싶어졌다. 템플릿 콜백 패턴은 GOF의 디자인 패턴은 아니지만 스프링에서 많이 사용되는 디자인 패턴이다.프로그래밍에서 콜백 or 콜애프터 함수는 다른 코드의 인수로서 넘겨주는 실행 가능한
팩토리 메서드 패턴(Factory Method Pattern)은 생성되는 객체의 종류가 여러가고 잦은 변화가 일어나지만, 일련의 기능(행동)은 고정되어 있는 경우 사용된다. 예를 들어. 카드사마다 할인 정책이 모두 다르지만 할인이라는 기능은 동일하다. 따라서 할인이라
Observer는 관찰자, 감시자라는 뜻이다. 따라서 한 객체를 관찰하고 있다가 객체의 상태가 변경되면 그 객체에 의존하는 다른 객체가 자동으로 갱신된느 방식으로 (1:N) 의존성을 가지고 있다고 있다.옵저버 패턴에는 구독자와 발행자, 이렇게 2가지의 역할이 있다. 구
데코레이터(Decorator)란 의미는 '장식자'라는 의미로서 어떤 객체를 꾸며준다? 추가한다? 이러한 의미라고 할 수 있다. 따라서 데코레이터 패턴은 대상 객체에 대한 기능 확장이나 변경이 필요할 때 객체에 새로운 요소(행동 or 기능)을 동적으로 더할 수 있는 패턴
어댑터(Adpater)는 호환되지 않는 인터페이스를 가진 객체들이 협업을 할 수 있도록 하는 구조적 디자인 패턴이다. 우리의 일상에서 어댑터라 하면 해외에 가면 우리가 전기를 사용할 때 한국에서는 220v를 사용하지만 어느 나라는 110v를 사용한다 그래서 우리는 전기
프록시 패턴 프록시 패턴이란 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)을 제공하는 패턴이다. 객체에 대한 접근을 제어하는 이유가 무엇일까? 이유는 특정 객체에 접근하여 메인 로직 이전이나 이후에 어떤한 기능을 수행하기 위해서는 해당 객체의 클래스
빌더 패턴은 복잡한 객체의 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴이다. 생성자의 매개 변수를 메서드로 각각 받아들여 마지막에 통합하여 생성하는 방식이다.기존의 생성자 패턴의 한계가 존재하기 때문에 빌더 패턴이 생겨났다. 기존의 생성
싱글톤 패턴은 단 하나의 유일한 객체를 만들기 위한 코드 패턴을 말한다. 메모리 절약을 위해, 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용해야 할 때 싱글톤 패턴을 사용한다.디자인 패턴들 중 가장 개념적으로 간단하지만 어디에
추상 팩토리 패턴은 연관성이 있는 객체 군이 여러개 있을 때, 이들을 묶어 추상화하고 어떤 구체적 상황이 주어지면 팩토리 객체에서 집합으로 묶은 객체 군을 구현화하는 생성 패턴이다. 클라이언트는 특정 객체를 사용할 때 팩토리 클래스만을 참조하여 특정 객체에 대한 구현부
프로토타입은 코드를 그들의 클래스의 의존하지 않고 기존 객체를 복사할 수 있도록하는 생성 패턴이다. 만약 복사하고 싶은 객체가 있다면 어떻할까? 먼저 같은 클래스의 새 객체를 생성해야 한다. 그 후 원본의 모든 필드를 복사본 객체에 복사해야한다. 하지만 원본의 필드가