파사드 패턴 퍼사드 패턴은 복잡한 서브 시스템을 인터페이스로 감싸 간단하게 만드는 것입니다. 또한 제 3의 API같은 외부 라이브러리를 추상화 하는데도 사용이 됩니다. Client는 서브 시스템의 존재를 모르고 오직 facade 클래스만 알고 있으며, facade 클래스만 접근할 수 있습니다. 이렇게 하면 클라이언트는 서브 시스템으로부터 분리되어 서브 시스템에 의존하지 않아도 되므로 느슨한 결합을 이룰 수 있습니다. 클래스 다이어 그램 Client Facade에게 특정한 행동을 수행해달라고 요청합니다. Facade 클라이언트의 요청을 적절한 서브 시스템 클래스에 위임합니다. Sub System Class 서브 시스템 기능을 구현합니다. 서브 시스템 클래스는 facade에 의해서만 사용됩니다. 예시 영화 ..
log4j2란? 어플리케이션에서 로그를 남기기 위한 기능이며 logging framework에서 제공하고 있는 대표적인 하나입니다. logback에 비해 멀티 쓰레드환경에서 10배 가량 성능이 좋다고 알려져 있습니다. system.out.println() system.out.println() 을 사용해 디버깅을 위한 메세지를 출력할 수 있지만 이는 프로그램의 성능을 저하시킬 우려가 있습니다. 이에대해 우리는 logging framework를 이용해야합니다. LOG LEVEL 아래 사진처럼 로그 레벨이 존재하며 순서는 ALL -> OFF 입니다. Gradle 적용 log4j2는 2021년 하반기에 큰 이슈가 있었습니다. 그래서 버전을 2.15.0 버전 이상을 사용해야하지만 2.16.0 버전에는 미흡한 문제..
데코레이터 패턴 데코레이터패턴은 객체의 결합을 통하여 기능을 동적으로 확장할 수 있도록 해주는 패턴입니다. 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우 각 추가 기능을 Decorator 클래스로 정의한 후 필요한 Decorator 객체를 조합함으로써 추가 기능을 조합하는 설계 방식입니다. 클래스 다이어 그램 Component 기본 기능을 의미하는 ConcreteComponent와 추가 기능을 의미하는 Decorator의 공통 기능을 정의합니다. 클라이언트는 Component를 통해 실제 객체를 사용합니다. ConcreteComponent 기본 기능을 구현하는 클래스 Decorator 다양한 추가 기능에 대한 공통 클래스를 정의합니다. ConcreteDecorator Decorator 클래스의..
컴포지트 패턴 여러개의 객체들로 구성된 복합 객체와 단일 객체를 클라이언트에서 구별없이 다루게 해주는 패턴입니다. 클라이언트는 복합 객체와 단일 객체를 신경쓰지 않고 인터페이스를 통해 어떠한 객체든 사용할 수 있습니다. 클래스 다이어 그램 Component Leaf 클래스와 Composite 클래스의 공통 인터페이스 정의 Leaf 구체적인 부분 클래스 Composite 객체의 부품으로 설정 Composite 전체 클래스 복수개의 Component를 갖도록 정의 예시 휴대폰에 각종 기능 장착하기 // 배터리 기능 @Getter public class Battery { private int price; private int power; public Battery(int price, int power) { t..
- Total
- Today
- Yesterday
- java userThread와 DaemonThread
- 트랜잭셔널 아웃박스 패턴 스프링부트
- transactional outbox pattern
- redis 대기열 구현
- polling publisher spring boot
- space based architecture
- spring boot poi excel download
- spring boot redisson 분산락 구현
- spring boot excel download paging
- spring boot excel download oom
- transactional outbox pattern spring boot
- @ControllerAdvice
- redis sorted set
- pipe and filter architecture
- 자바 백엔드 개발자 추천 도서
- JDK Dynamic Proxy와 CGLIB의 차이
- spring boot 엑셀 다운로드
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- 람다 표현식
- redis sorted set으로 대기열 구현
- microkernel architecture
- 서비스 기반 아키텍처
- 레이어드 아키텍처란
- service based architecture
- pipeline architecture
- spring boot redisson sorted set
- 공간 기반 아키텍처
- spring boot redisson destributed lock
- java ThreadLocal
- spring boot redis 대기열 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |