추상 팩토리 패턴이란? 서로 관련성 있는 객체들을 인터페이스로 규격화하여 팩토리에서 일정한 방식으로 생성하는 패턴입니다. 구체적으로 어떤 클래스의 인스턴스를 사용하는지 감출 수 있습니다. 팩토리 메서드 패턴과 굉장히 유사하지만 초점은 클라이언트에게 있다고 생각하시면 됩니다. 추상 팩토리 패턴 목적 차제가 클라이언트 코드에서 인스턴스를 만들어서 쓰는 코드를 인터페이스 기반으로 코딩을 할 수 있게끔 도와주는 패턴입니다. 추상 팩토리 구조 클래스 다이어그램 추상 팩토리 패턴을 사용한 예제 1) 💡Abstract Factory와 Concrete Factory // 추상 팩토리 public interface ShipFactory { Anchor createAnchor(); Wheel createWheel(); }..
팩토리 메서드 패턴이란? 객체를 생성하기 위한 인터페이스를 정의하고 어떤 클래스의 인스턴스를 생성할지에 대한 처리는 서브 클래스가 결정하는 디자인패턴입니다. new 키워드를 호출해 객체를 생성하는 역할을 서브 클래스에 위임하는 것입니다. 그렇기 때문에 팩토리 메서드 패턴은 객체를 만들어 내는 공장 패턴이라 할 수 있습니다. 클래스의 인스턴스를 만드는 일은 서브 클래스에게 맡깁니다. 클래스 다이어 그램 💡 다양한 구현체(Product)가 있고, 그중에서 특정한 구현체를 만들 수 팩토리(Creator)를 제공할 수 있습니다. 💡 Product 인스턴스 생성시 큰 틀을 결정하는 추상 클래스 및 인터페이스입니다. 구체적인 내용(구현부)은 ConcreteProduct에서 결정합니다. 💡 ConcreteProduc..
프록시 패턴이란? 프록시는 대리인이라는 뜻으로, 무언가를 대신 처리하는 역할을 담당합니다. 어떠한 객체를 사용하고자 할때 객체를 직접적으로 참조 하는것이 아니라 해당 객체를 대행(proxy)하는 객체를 통해 대상 객체에 접근하는 방식입니다. 이렇게 접근을 하면 접근하고자 하는 객체가 메모리상에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있고 또한 실제 객체의 기능이 필요한 시점까지 객체의 생성을 지연시킬 수 있습니다. 클래스 다이어그램 Subject Proxy와 RealSubject가 구현해야하는 인터페이스 두 객체를 동일하게 다루기 위해서 존재 Proxy RealSubject와 Client 요청 사이에 존재하는 객체 Subject를 구현함으로써 클라이언트는 RealSubject를 사용하는 것..
파사드 패턴 퍼사드 패턴은 복잡한 서브 시스템을 인터페이스로 감싸 간단하게 만드는 것입니다. 또한 제 3의 API같은 외부 라이브러리를 추상화 하는데도 사용이 됩니다. Client는 서브 시스템의 존재를 모르고 오직 facade 클래스만 알고 있으며, facade 클래스만 접근할 수 있습니다. 이렇게 하면 클라이언트는 서브 시스템으로부터 분리되어 서브 시스템에 의존하지 않아도 되므로 느슨한 결합을 이룰 수 있습니다. 클래스 다이어 그램 Client Facade에게 특정한 행동을 수행해달라고 요청합니다. Facade 클라이언트의 요청을 적절한 서브 시스템 클래스에 위임합니다. Sub System Class 서브 시스템 기능을 구현합니다. 서브 시스템 클래스는 facade에 의해서만 사용됩니다. 예시 영화 ..
- Total
- Today
- Yesterday
- 람다 표현식
- redis 대기열 구현
- spring boot 엑셀 다운로드
- java userThread와 DaemonThread
- microkernel architecture
- pipeline architecture
- spring boot redisson sorted set
- spring boot redis 대기열 구현
- java ThreadLocal
- 자바 백엔드 개발자 추천 도서
- 서비스 기반 아키텍처
- spring boot redisson destributed lock
- spring boot excel download paging
- spring boot redisson 분산락 구현
- pipe and filter architecture
- 공간 기반 아키텍처
- polling publisher spring boot
- spring boot poi excel download
- service based architecture
- 레이어드 아키텍처란
- @ControllerAdvice
- spring boot excel download oom
- 트랜잭셔널 아웃박스 패턴 스프링부트
- transactional outbox pattern
- JDK Dynamic Proxy와 CGLIB의 차이
- redis sorted set
- space based architecture
- redis sorted set으로 대기열 구현
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- transactional outbox pattern spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |