본문 바로가기

Design Pattern

(16)
Proxy Pattern # Proxy Pattern 관련 내용 정리1. Proxy Pattern이란?프록시 패턴(Proxy Pattern)은 디자인 패턴 중 하나로, 어떤 객체에 대한 접근을 제어하거나, 그 객체에 대한 요청을 처리하기 위해 대리자 또는 대변인 역할을 하는 객체를 생성하는 패턴이다. 프록시 패턴은 실제 객체와 같은 인터페이스를 가지며, 클라이언트는 실제 객체 대신 프록시를 사용하여 작업을 수행한다.  프록시 패턴은 다음과 같은 경우에 사용된다:   원격 프록시(Remote Proxy): 원격 객체에 대한 로컬 인터페이스를 제공한다. 예를 들어, 원격 서버에 있는 객체에 대한 로컬 인터페이스를 제공할 수 있다.   가상 프록시(Virtual Proxy): 필요에 따라 복잡한 또는 시간이 많이 소요되는 작업을 수행..
Builder Pattern # Builder Pattern에 대해서 정리하기.1. 빌더 패턴을 사용하는 이유- 원하는 값만 세팅할 수 있다.예를들어 name과 email이라는 두개의 필드가 있을때, name값을 뺀 email값만 db에 Insert한다고 가정해보자.이런 경우 name에는 별도의 null값을 처리해야 하거나 새로운 생성자를 만들어 주어야 할것이다.하지만, 빌더 패턴을 사용하면 위의 null처리나 생성자를 새로 만들 필요없이 email값만 insert가 가능하다.아래의 테스트 코드를 보면 이해가 될것이다.-  User DTO의 필드 값은 아래와 같다.public class User { private final String name; private final String email; ...- UserSe..
디자인 패턴 정리 # 디자인 패턴 정리1.생성 패턴(Creational Pattern) ✅  추상 팩토리(Abstract Factory) ✅  빌더(Builder) : https://github.com/Nanninggu/Builder-Pattern.git GitHub - Nanninggu/Builder-Pattern: About Builder PatternAbout Builder Pattern. Contribute to Nanninggu/Builder-Pattern development by creating an account on GitHub.github.com ✅  팩토리 메소드(Factory Method) ✅  프로토타입(Prototype) ✅ 싱글톤(Singleton) : https://github.com/Na..
Transactional Outbox Pattern # Transactional Outbox Pattern주요 디자인 패턴들을 하나하나씩 공부하고 있다.- 예제 소스코드는 아래의 github에 올려 놓았다.https://github.com/Nanninggu/Transactional-Outbox-Pattern.git GitHub - Nanninggu/Transactional-Outbox-Pattern: Transactional-Outbox-Pattern Example codeTransactional-Outbox-Pattern Example code. Contribute to Nanninggu/Transactional-Outbox-Pattern development by creating an account on GitHub.github.com- Flow Di..
Circuit Braker Option 테스트 # Circuit Braker의 설정값을 테스트1. application.properties의 옵션 1번과 2번만 활성화 시킨 후 테스트 진행... - 설정 값# 옵션1# 슬라이딩 창의 크기를 10으로 설정합니다.# 슬라이딩 창은 마지막 'n' 호출의 결과를 기록한다.resilience4j.circuitbreaker.configs.default.sliding-window-size=10# 옵션2# 실패율 임계값을 50%로 설한다.# 실패률이 이 임계값을 초과하면 회로 차단기가 개방 상태로 전환된다.resilience4j.circuitbreaker.configs.default.failure-rate-threshold=50 10개의 호출중 50% 즉 5개 이상의 호출이 실패할 경우 회로 차단기를 열고, 호출을..
Event-Sourcing-Pattern # Event-Sourcing-Pattern, 이벤트 소싱 패턴https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/modernization-data-persistence/service-per-team.html 이벤트 소싱 패턴 - AWS 규범적 지침이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.docs.aws.amazon.com0. 들어가기에 앞서 Event-Sourcing-Pattern + CQRSEvent Sourcing 패턴은 보통 CQRS 패턴과 함께 사용하는 경우가 많다. 이유는 검색을 하면 많은 자료가 나오지만 간단히 정..
Anti-Corruption Layer Pattern (부패 방지 계층 패턴) # Anti-Corruption Layer Pattern 부패 방지 계층 패턴- 패턴 이름이 ㅋㅋㅋ 부패방지... 손상방지 라고도 한다.0. 개요, 왜 사용하는지신규로 시스템을 개발하고, 이전하는 과정에서 일부만 일단 개발하고 나머지 시스템은 추후에 개발하는 케이스도 있을 것이다. 이렇게 되면 일부 기능만 신규로 개발이 되고 나머지는 그대로 사용해야 하는 상황이 발생한다. 그런 상황에 대비하라고 나온 게 이 부패 방지 계층 패턴이다. 아래와 같은 상황에 이 패턴을 사용하면 유용할 거 같다. - 타 시스템 연계 (3rd party system) - 서로 다른 통신 프로토콜을 사용할때 - 서로 다른 도메인 모델 설계 - 서로 다른 데이터 타입 사용 - 서로 다른 플랫폼 인프라 계층의 연계 서로 다른 두 시스..
Circuit breaker pattern (회로 차단기 패턴) # Circuit breaker pattern 회로 차단기 패턴에 대해서 알아보자.1. Circuit breaker pattern 패턴이란?외부 서비스에 의한 문제를 방지하기 위해 등장한 것이 서킷 브레이커 패턴이다. 서킷 브레이커 패턴은 문제가 발생한 지점을 감지하고 실패하는 요청을 계속하지 않도록 방지한다. 이를 통해 시스템의 장애 확산을 막고, 장애 복구를 수행하며 사용자는 불필요하게 대기하지 않도록 한다. 즉, 서킷 브레이커 패턴은 클라이언트 측면에서 장애를 방지하기 위한 도구로서, 실패할 수 있는 작업을 계속 시도하지 않도록 방지하는 패턴이다. - AWS의 설명은 아래를 참고https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-desig..