일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- armeria
- ddd
- MongoDB
- springboot3
- spring6
- spring-web
- 반버논
- mongo
- Kotlin
- webframework
- MSA
- springcloud
- Pay
- 값객체
- IDDD
- Conference
- kakao
- spring caching
- springboot
- 신입
- docker
- Spring
- java17
- zuul
- 개발자
- Redis
- 애그리거트
- spring scheduler
- 바운디드컨텍스트
- ifkakao
- Today
- Total
목록2022/05/06 (4)
Easy Understanding
싱글턴 패턴 - 필요 개념: 멀티스레딩 - 활용도:빈번함 - 난이도: 쉬움 - 패턴이 필요한 상황: 어플리케이션 내에 하나의 객체만 필요할 때 사용 일반적으로 스프링 프레임워크를 사용한다면 싱글턴 패턴을 직접 구현할 일은 없다. 게다가 웹에서는 대부분의 객체가 Request 라는 생명주기를 가지고 생성되곤 한다. 즉 하나의 요청에 하나의 객체가 생성이 되고, 동시에 여러 개가 생길 수가 있는 것이다. 그러나 모든 코드에서 한 객체를 동시에 봐야하는 경우가 있는데 이럴 때 사용해야 하는 것이 싱글턴 패턴이다. 싱글턴 객체가 내부에 프로퍼티 등의 상태를 가지고 있지 않다면 딱히 문제는 없지만, 상태를 가진 객체라면 멀티스레딩에서 동시성 문제가 반드시 발생하게 된다. 이것 때문에 싱글턴 패턴의 가이드에서는 ..
- 필요 개념: 상속 - 활용도: 일반적으로 유용 - 난이도: 쉬움 - 패턴이 필요한 상황: 객체를 생성해야하는 모든 상황 1. 정적 팩토리 메서드 이건 우리가 평소에 자주 쓰는 팩토리 패턴이다. 굉장히 보편적으로 사용되며 상속을 지원하는 클래스의 경우 자식 클래스도 반환해주기도 한다. public class UserFactory{ public static User create(String type){ if(type.equals("adult"){ return new AdultUser(...); } else { return new YoungUser(...); } } } 2. 팩토리 메서드 패턴 위의 패턴에서 상속이 복잡해서 if else를 이용한 분기처리가 많아진다면 여기로 와야 한다. 어느 도메인에서나 ..
- 필요 개념: 상속, 컴포지션 둘 다 - 활용도: 가끔 쓸모있을 수준 - 난이도: 관점에 따라서는 다소 복잡함 - 패턴이 필요한 상황: 메서드에 다양한 기능(적어도 세네가지 이상)을 추가하고 싶을 때 데코레이터 패턴은 개념은 쉬운데 구현이 좀 복잡하다. 처음에는 이게 뭔 소린가하면서 넘어갔는데, 두세번 정도 읽다보니 깨달음이 온 패턴이다. 일단 세부 구현 방법보다는 그 쓸모가 어디에 있을지를 알아보자. 헤드퍼스트에서는 커피에 올리는 토핑으로 설명을 한다. 여러 개의 토핑을 다양한 조합으로 올렸을 때 가격을 어떻게 계산할 것이냐? 라는 가벼운 예시를 든다. 아 그런데 역시나 패턴을 이해하는 데에는 도움이 되지만 실질적으로 어디에 쓸거냐에 대한 인사이트는 그닥.. 데코레이터 패턴은 패턴 이름 그대로 꾸며주..
옵저버 패턴을 들어가면서 스타크래프트의 옵저버나 언급해야겠다고 생각했는데, 다들 하는 생각이 비슷비슷한 것 같다. 이미 많이들 사용하고 있어서 생각을 접었다. 게다가 난 이 패턴에 옵저버라는 단어가 들어간 순간부터 이해에 방해가 되어 왔다. 대충 개념만 보면 쉬운데 이 옵저버라는 단어 때문에 더 헷갈리는 느낌이다. - 필요 개념: 상속 - 활용도: 부담없이 사용해볼만 함 - 난이도: 간단 - 패턴이 필요한 상황: 일대다 상황 일대다 상황이라 함은, 1개의 원인과 그로 인해 n개의 동작이 수행되어야 하는 상황이다. 예를 들면 다음과 같은 상황이다. - 모니터링 시스템에서 특정 지표가 넘어가면(1) 메시지/메일/카톡 등의 채널로 알림이 발송(n)된다. - 어떤 API를 통해서 요청이 들어왔을 때(1), 동시..