본문 바로가기

Design Pattern2

[Pattern] 싱글톤 패턴 정리 목적 단 하나의 유일한 객체를 만들기 위한 디자인 패턴 클래스의 인스턴스를 오직 하나만 만들어서 글로벌하게 접근할 수 있도록 한다. 메모리 절약을 위해 인스턴스가 필요할 때 똑같은 인스턴스를 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법 대부분 리소스를 많이 차지하는 역할을 하는 무거운 클래스를 대상으로 한다. ex) 데이터베이스 연결 모듈, 디스크 연결, 네트워크 통신, DBCP 커넥션풀, 스레드풀, 캐시, 로그 기록 객체 자바로 싱글톤 패턴 구현 생성자를 private으로 설정해서 외부에서 인스턴스로 만들 수 없게 만드는 것이 중요하다. 1. Lazy initialization public class Singleton { private static Singleton instance; privat.. 2023. 6. 25.
[Spring] 간편 결제 기능 팩토리 클래스 적용하기 간편 결제 기능이 있는 프로젝트를 진행하다가, 기존에는 현금결제와 카카오페이결제 기능이 있었다. 이번에 네이버페이결제 기능을 추가하기 위해서, 코드를 작성하면 새로운 기능 추가로 인해서 기존의 코드들이 대폭 수정하는 일이 발생하였다. OCP 법칙에 맞지 않게 코드를 설계했었다. 코드를 설계할 때부터, 기능이 추가될 것을 예상하고 설계를 했으면 좋았을 텐데.. 아무튼 새로운 결제 기능을 추가함에 있어서, 기존의 코드가 수정되지 않도록 팩토리 패턴을 적용하였다. 팩토리 패턴을 적용하기 위해서 아래와 같이 PayService 인터페이스와 각각 구현체를 구현하였다. public interface PayService { String pay(Long orderId); } @Service public class Ka.. 2023. 5. 2.