Design Pattern 2

[Design Pattern] Singleton Pattern(싱글톤 패턴)이란

오늘은 메모리 낭비를 방지할 수 있는 디자인 패턴인 싱글톤 패턴에 대해 알아보겠습니다. Singleton Pattern 애플리케이션이 시작될 때, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴하는 패턴 즉, 처음에 생성한 인스턴스를 지속적으로 사용하는 패턴입니다 Java에서는 생성자를 Private으로 선언하고 다른 곳에서 생성하지 못하도록 만들고, getInstance() 메서드를 통해 받아서 사용하도록 구현 주로, 데이터베이스에서 Connection Pool, Thread Pool처럼 공통된 객체를 여러개 생성해서 사용하는 상황에서 사용합니다. 이제 장단점에 대해 설명드리겠습니다. 장점 객체를 생성할 때 마다 메모..

Java/Design Pattern 2023.11.03

[Spring] Template Method Pattern, Strategy Pattern, Template Callback Pattern

스프링에서 사용되는 디자인 패턴인 템플릿 메서드 패턴, 전략 패턴, 템플릿 콜백 패턴에 대해 알아보려고 합니다. 이들을 적용하는 이유는 좋은 설계를 위해서입니다. 좋은 설계란 요구 부가 기능(핵심 기능의 보조 기능)을 변경하지 않고 핵심 기능만 변경하게 설계하는 것입니다.(중복된 로직을 변경하지 않고, 변하는 것(비즈니스 로직)만 순수하게 바꾸어주는 것) 우선 좋은 설계에 한 발짝 나아갈 수 있는 템플릿 메서드 패턴에 대해 설명드리고 이와 비슷한 기능을 하고 있지만, 템플릿 메서드 패턴의 단점을 보완할 수 있는 전략 패턴, 전략 패턴에서의 템플릿과 콜백 부분을 강조한 템플릿 콜백 패턴까지 설명드리려고 합니다. GOF 템플릿 메서드 패턴 정의 부모 클래스에서의 템플릿을 정의하고, 일부 변경되는 로직을 자식..

Java/Spring 2023.08.09