본문 바로가기

디자인패턴3

디자인패턴 사용처 컨닝페이퍼 1. 전략 패턴 (Strategy Pattern)주된 상황:여러 알고리즘(또는 전략)이 있고, 이들을 런타임에 선택해야 하는 경우알고리즘을 캡슐화하여 클라이언트 코드와 독립적으로 변경하고자 하는 경우예: 결제 방법(신용카드, 페이팔 등), 정렬 알고리즘, 데이터 압축 방식2. 팩토리 메소드 패턴 (Factory Method Pattern)주된 상황:객체 생성의 책임을 서브클래스로 넘기고, 클라이언트 코드와 객체 생성 로직을 분리하고자 하는 경우구체적인 클래스의 인스턴스를 생성할 때 직접적인 의존성을 피하고자 하는 경우예: 다양한 데이터베이스 연결 객체 생성, 여러 종류의 문서 객체 생성3. 옵저버 패턴 (Observer Pattern)주된 상황:한 객체의 상태 변화가 다른 객체들에게 자동으로 알림을 보내.. 2024. 7. 24.
자바 백엔드에서 자주 사용되는 디자인 패턴 조합 1. 팩토리 + 싱글턴팩토리 패턴과 싱글턴 패턴의 조합은 특히 객체 생성 로직이 복잡하거나, 인스턴스(객체)를 전역적으로 한 번만 생성하고 관리해야 할 떄 유용함.팩토리 패턴을 사용해 객체 생성을 캡슐화하고, 이 팩토리 자체를 싱글턴으로 관리하여 애플리케이션 전역에서 하나의 팩토리 인스턴스(객체)만을 사용하게 할 수 있음. 팩토리를 싱글턴으로 관리함으로서 얻는 장점일관된 객체 접근모든 컴포넌트가 동일한 설정, 동일한 상태의 객체를 공유하게 하여 일관성을 유지할 수 있게 해줌자원의 효율적 사용객체 생성에 필요한 자원을 중복해서 사용하지 않아도 됨.설정과 구성의 중앙 관리 구성 변경이 필요할 때 단일 위치에서 수정을 하면 그 영향이 애플리케이션 전체에 적용되기 때문에 관리가 용이함 객체 생성 로직의 캡슐화... 2024. 7. 23.
디자인패턴에서 자주 쓰이는 용어 정리(GPT)(2) 포워딩 (Forwarding):한 객체의 메소드를 호출할 때 다른 객체의 메소드를 호출하여 작업을 위임하는 것.예: 프록시 패턴에서 프록시 객체가 실제 객체의 메소드를 호출하는 경우.데모테이션 (Demotion):객체의 책임이나 역할을 더 낮은 수준의 객체로 이동시키는 것.예: 복잡한 로직을 더 단순한 객체로 분리하여 책임을 줄이는 것.콜레이터 (Cooperator):특정 작업을 수행하기 위해 협력하는 여러 객체들.예: 콜레이터 패턴에서 여러 객체가 협력하여 작업을 수행하는 경우.컨슈머 (Consumer):데이터를 소비하는 객체.예: 생산자-소비자 패턴에서 데이터를 소비하는 객체.프로듀서 (Producer):데이터를 생성하는 객체.예: 생산자-소비자 패턴에서 데이터를 생성하는 객체.루프 (Loop):반복.. 2024. 7. 16.