일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Gradle
- Spring XD
- hadoop
- apache storm
- Java
- 엘라스틱서치
- intellij
- Linux
- hdfs
- nginx
- docker
- design pattern
- spark
- hibernate
- Domain Driven Design
- scala
- SBT
- Spring Batch
- elasticsearch
- Spring Boot
- 스프링 배치
- 도메인주도설계
- Clean Code
- 제주
- Angular2
- elastic search
- Storm
- Spring
- DDD
- Hbase
- Today
- Total
목록Factory (2)
욱'S 노트
빌더 패턴은 소프트웨어 디자인 패턴이다. 오브젝트를 구성하는 추상화 스텝에 의도를 둔다. 다른 오브젝트를 생성하기 위해 추상화된 스텝의 다른 구현들을 활용한다. Builder Pattern vs Factory method pattern 우리는 빌더 패턴과 팩토리 메소드 패턴을 사용하기 위한 결정을 할 때 항상 의문점을 가지게 된다. . 팩토리는 단순히 생성자와 관련된 랩퍼 함수이다. 팩토리 매서드 패턴에서는 전체 오브젝트를 위한 한번의 함수 호출이 요구된다. 하나의 라인에 모든 파라미터들이 전달되어야 하며 최종 오브젝트가 리턴될 것이다. 실제 생활에서 예를 찾아보면 레스토랑의 오늘의 식사와 같다. 식사의 생성은 팩토리 패턴이다. 때문에 우리는 주문할때 오늘의 식사를 달라고 하고 이러한 오브젝트는 비밀의 ..
모든 객체는 생명주기가 있다. 일반적으로 객체는 생성자를 호출해서 만들어진 다음 가비지 컬렉터에서 삭제된다. 그러나 엔티티의 경우는 더욱 오래 지속되며, 메모리안에서만 시간을 보내지 않는다. 그리고 각 엔티티들은 상호의존성을 갖는다. 이러한 객체들을 관리하는데 실패한다면 도메인주도개발을 시도하는 것에 쉽게 좌절될 수 있다. AGGREGATE 어그리게이트는 우리가 데이터 변경의 단위로 다루는 연관 객체의 묶음을 말한다. 각 AGGREGATE는 루트와 바운더리가 있다. 루트는 단 하나만 존재하며 외부에서 객체를 참조할때는 어그리게이트 루트만을 통해서 이루어져야만 한다. 또한 삭제와 변경도 어그리게이트 루트를 통해서만 이루어져야 한다. 외부객체는 어그리게이트 루트만 접근할 수 있게 하고 내부만 감춰야만 한다...