Programming-[Base]/Design, Architecture 3

[작성중][헥사고날 아키텍처] - 1. 기본 개념, 도메인 헥사곤

아키텍처의 중요성 보통 서비스가 고도화됨에 따라 누적 기능이 증가하는 속도가 느려진다. 도메인의 로직이 고도화되고 상호 작용이 늘어날수록 기능을 추가하는게 어려워지기 때문이다. 선행 설계에 드는 비용 대비 기능 추가 비용의 조화가 필요한 것이 원칙이지만, 아키텍처도 이런 tradeoff를 줄여주는 중요한 요소이다. 1. 헥사고날 아키텍처의 기본 개념 내부에서부터 도메인 헥사곤, 애플리케이션 헥사곤, 프레임워크 헥사곤으로 구성된다. [헥사곤 구조 그림 넣기] 1-1. 도메인 헥사곤 엔티티(entity)와 값 객체(value object)로 이루어진다. 엔티티는 도메인을 표현하는 속성값들의 집합? 정도이고, 값 객체는 프로젝트에서 임의로 변경할 수 없지만 Type으로 정규화하는 enum 같은 값이라고 한다...

[작성중][잠정 중단] 2. Bridge - 예제 : 구체적 이해

디자인 패턴은 글로는 이해가 되나, 아직까지 실무적으로 와닿지는 않는 것 같다. 향후 기회가 된다면 다시 공부해보자. 예시 - Remote And Device 리모컨이 Abstraction이고 어떤 Device를 interface로 만든다. 리모컨으로 표현되는 Remote에서는 device를 참조값으로 갖는다. device가 아니라 animal을 참조값으로 갖는다면 동물이나 사람을 조종할 수도 있지 않을까!? 어쨌든 device의 구현체들이 radio, tv 등이다. 이것들이 실제 기능을 하게된다. 또한 사용자는 리모컨만 있으면 어떤 device든지 켜고 끄고, 소리를 키우거나 줄일 수 있다. 응용처 실제 Bridge 패턴은 크로스 플랫폼 애플리케이션, 여러 종류의 데이터베이스를 지원하는 서비스 등에서 ..