본문 바로가기

디자인패턴5

디자인패턴 : 전략 패턴 디자인 원칙 1"바뀌는 부분은 따로 뽑아서 캡슐화한다. 그러면 나중에 바뀌지 않는 부분에는 영향을 미치지 않고 그 부분만 고치거나 확장할 수 있다." 이 개념은 매우 간단하지만 모든 디자인 패턴의 기반을 이루는 원칙이다.  달라지는 부분을 찾아서 나머지 코드에 영향을 주지 않도록 캡슐화한다.그러면 코드를 변경하는 과정에서 의도치 않게 발생하는 일을 줄이면서 시스템의 유연성을 향상시킬 수 있다.이것이 바로 디자인 원칙 중 하나인 '변하는 부분과 변하지 않는 부분을 분리하라' 는 원칙이다.// 지불 방법을 위한 인터페이스 정의interface PaymentStrategy { void pay(int amount);}// 신용카드로 지불하는 전략class CreditCardPayment implements.. 2024. 5. 9.
자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 - Supplier<T> 인터페이스가 팩토리를 표현하는 완벽한 예이다 Effective Java 에서 언급하는 Supplier 인터페이스는 자바에서 팩토리 메서드 패턴의 일반적인 구현을 제공하는 좋은 예입니다. Supplier 인터페이스는 자바 8에서 도입된 java.util.function 패키지의 일부로, 입력 없이 특정 타입의 객체를 공급하는 간단한 함수형 인터페이스입니다. Supplier 인터페이스 Supplier 는 단 하나의 추상 메서드 get() 을 가지고 있습니다. 이 메서드는 매개변수를 받지 않고, 호출 될 때마다 새로운 또는 기존 객체를 반환할 수 있습니다. 반환 타입은 T로 Supplier 인터페이스를 구현할 때 지정됩니다. @FunctionalInterface public interface Supplier { T get(); } 팩터리 메서드 패턴으로.. 2024. 4. 17.
행동 패턴 전략 패턴 전략 패턴은 특정한 연산을 클래스 내부에서 정의하는 대신 별도의 클래스로 분리하여, 일련의 로직을 정의한 다음 필요에 따라 동적으로 클래스를 바꾸어 가며 사용할 수 있게 하는 디자인 패턴입니다. 이 패턴은 객체의 행동을 동적으로 바꾸고 싶을 때 사용합니다. 우리가 흔히 사용하는 레이드 아키텍처를 기준으로 보면 Controller -> Service -> Repository 2023. 12. 12.
생성 패턴 싱글톤 패턴 싱글톤 패턴은 특정 클래스의 인스턴스가 하나만 생성 되도록 보장하고, 그 인스턴스에 쉽게 접근할 수 있는 글로벌 포인트를 제공하는 패턴입니다. 싱글톤 패턴 설정은 로거, 캐시, 스레드 풀, 데이터베이스 연결 등과 같이 한번만 생성되어 여러 곳에서 공유되어야 하는 객체에서 주로 사용됩니다. 1. 즉시 초기화 public class Singleton { private static final Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } } 2. Lazy Initialization with Double Checked Locking .. 2023. 12. 12.