일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring-web
- armeria
- springboot
- mongo
- 바운디드컨텍스트
- Conference
- 값객체
- spring scheduler
- docker
- 반버논
- ifkakao
- Pay
- java17
- kakao
- 개발자
- springcloud
- Spring
- spring6
- springboot3
- spring caching
- zuul
- 애그리거트
- IDDD
- Kotlin
- MongoDB
- MSA
- 신입
- webframework
- Redis
- ddd
- Today
- Total
목록2022/05/08 (3)
Easy Understanding
- 필요 개념: 상속, 컴포지션 - 활용도:사용할일이 많지는 않지만, 읽을 일이 많은 개념 - 난이도: 구조 자체는 심플하지만, 관련 기술이 복잡하다. - 패턴이 필요한 상황: 접근 제어, 메서드 기능 추가 다양하게 활용 가능 프록시의 구현 방법은 데코레이터 패턴과 비슷한 면이 많다. interface A { void doSomething(); } class AImpl implements A { public void doSomething(){ ... } } 이런 간단한 인터페이스와 클래스가 있다고 하자. 이 doSomething() 바깥에서 특수한 처리를 하고 싶다면 (누가 요청했는지 확인해서 막는다든지, 로깅을 하고 싶다든지 정말 다양한 이유로) 이렇게 처리하면 된다. class AProxy imp..
이번엔 3가지 패턴을 한 번에 정리한다. 생각보다 간단하고 활용성이 클 것 같지 않아서 정리하다보니 내용이 짧아졌고 그래서 합치게 되었다. 반복자 패턴 - 필요 개념: 컬렉션 - 활용도:필요하다면.. - 난이도: 간단 - 패턴이 필요한 상황: 컬렉션을 통합적으로 사용할 필요가 있을 때 모든 언어에는 여러 컬렉션이 존재한다. 자바의 경우는 다음과 같은 것이 대표적이다. List list; String[] arr; Map map; Set set; 그런데 여러 컬렉션들을 사용할 때 클라이언트에서는 이걸 같은 코드로 사용하고 싶을 때가 있다. 다양한 인터페이스 구현체들을 사용할 때 세부 구현체를 몰라도 되는 것처럼, 컬렉션도 비슷하게 처리할 수 있으면 좋은데, 그 대표적인 명세가 바로 Iterator 이다...
- 필요 개념: 간단한 상속, 추상 클래스 - 활용도:가끔 - 난이도: 간단 - 패턴이 필요한 상황: 코드의 큰 틀만 잡아주고,세부 구현은 클라이언트에게 맡기고 싶을 때 코드를 작성하다보면 항상 특정 Use-Case라는 것이 존재하고, 비즈니스에서는 이게 꽤나 복잡하게 엮일 수가 있다.다음은 하나의 흐름의 예시이며, 이런 코드야 비일비재한 코드다. 1. 데이터베이스에서 불러오기 2. 데이터 가공 처리 3. 데이터 로깅 4. 데이터 변환 5. 다시 저장 6. 이벤트 발행 7. 이런 일련의 작업들을 트랜잭션 처리 그런데 만약 이런 로직들에 대해서 여러 구현체에서 같은 flow를 따라야 한다고 해보자. 비디오나 소설, 웹툰 등의 서비스를 제공하는 곳에서는 분명 종류는 다르지만 공통의 Flow로 무엇인가를 ..