분류 전체보기125 행동 패턴 전략 패턴 전략 패턴은 특정한 연산을 클래스 내부에서 정의하는 대신 별도의 클래스로 분리하여, 일련의 로직을 정의한 다음 필요에 따라 동적으로 클래스를 바꾸어 가며 사용할 수 있게 하는 디자인 패턴입니다. 이 패턴은 객체의 행동을 동적으로 바꾸고 싶을 때 사용합니다. 우리가 흔히 사용하는 레이드 아키텍처를 기준으로 보면 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. 구조 패턴 Adapter 패턴 Adapter 패턴은 구조적 디자인 패턴 중 하나로, 서로 다른 두 인터페이스간에 호환성을 제공하는 패턴입니다. 어댑터 패턴을 사용하면 기존 코드를 수정하지 않고 새로운 코드와 함께 작동하도록할 수 있습니다. 예를 들어, 기존에 사용하던 라이브러리를 사용하는데 있어, 새로운 시스템과 맞지 않는다면 어댑터를 사용하여 오래된 라이브러리의 인터페이스를 새로운 시스템 인터페이스와 호환되게 만들 수 있습니다. 많이들 비교하는게 전자기기 단자를 호환해주는 어댑터 입니다. 110V 전용 가전제품에 220V 어댑터를 끼워 사용하는 예를 들 수 있습니다. 이미 100V는 만들어 져있는 라이브러리 이고 이를 상속 또는 인터페이스로 220V 기능을 추가하는 것입니다. Adapter 패턴에는 크게 두가지를.. 2023. 12. 12. SOLID 1. SRP ( 단일 책임 원칙 ) SRP 단일 책임 원칙 (Single Responsibility Principle)의 약자로, SOLID 원칙 중 하나입니다. 이 원칙은 클래스가 단 하나의 이유만으로 변경이 되어야 한다는 원칙을 의미합니다. 여기서 단 하나의 책임 이 말이 추상적이여서 아래 내용을 통해 구분해 보겠습니다. 기능적 책임 : 클래스가 수행해야 할 주요 동작이나 기능입니다. 주문 시스템에서 OrderService 클래스의 책임은 주문 생성, 추가, 조회등을 담당할 것 입니다. 변경의 원인 : 하나의 책임은 변경의 이유가 하나라는 것입니다. 예를 들어 데이터베이스가 변경 되었다고 Service 클래스가 영향을 받아서는 안됩니다. 예시로 주문 시스템을 생각해볼께요. 여기에는 주문과 주문내역을 .. 2023. 12. 12. 이전 1 ··· 22 23 24 25 26 27 28 ··· 32 다음