포트앤어댑터

포스팅에서의 클린아키텍처는 Ports and Adapters 아키텍처, 헥사고날 아키텍처(육각형 아키텍처) 모두 같은 것을 의미한다. 클린 아키텍처는 도메인 중심의 아키텍처에 적합하기 때문에 도메인 엔터티를 만드는 것으로 시작한 후, 해당 도메인 엔터티를 중심으로 유스케이스를 구현한다. 엔터티에는 비즈니스 업무 규칙이 존재한다. 유스케이스는 엔티티를 감싸고 있다. 유스케이스는 애플리케이션에 특화된 업무 규칙(비즈니스 규칙)을 표현하며, 엔티티 내부의 핵심 업무 규칙을 호출(도메인에 접근)하고 시스템을 사용하는 흐름을 담는다. 엔티티(고수준영역)은 유스케이스영역(저수준영역)을 알게 해서는 안됨에 주의한다. 엔터티는 간단한 객체여야 하며, 프레임 워크 데이터베이스 또는 기타 복잡한 것에 의존해서는 안되고 유..
포스팅에서의 클린아키텍처는 Ports and Adapters 아키텍처, 헥사고날 아키텍처(육각형 아키텍처) 모두 같은 것을 의미한다. 이번 포스팅에서는 지난 포스팅에서이야기한 클린 아키텍처(Ports and Adapter) 의 구성과 이를 반영한 프로젝트의 패키지 구조에 대해 이야기를 해보려고한다. 참고 포스팅 [아키텍처] 클린아키텍처(Ports and Adapters): 왜 클린 아키텍처를 공부하게 되었는가? 왜 클린 아키텍처를 공부하게 되었는가? 나는 모놀리식 아키텍처, 계층형 아키텍처(MVC) 기반의 개인 프로젝트와 짧지만, 레거시 프로젝트를 담당해 개발한 경험이 있다. 그리고 프로젝트를 개발 sykeem.tistory.com 클린아키텍처에서 가장 중요한 것은 의존성 규칙이다. 모든 계층 간 의존성..
왜 클린 아키텍처를 공부하게 되었는가? 나는 모놀리식 아키텍처, 계층형 아키텍처(MVC) 기반의 개인 프로젝트와 짧지만, 레거시 프로젝트를 담당해 개발한 경험이 있다. 그리고 프로젝트를 개발하는데 있어 나는 코드적인 기준(가독성)을 충족하고 빠르고 쉽게(=낮은 개발 비용)으로 개발을 하고싶었다. 하지만 기존의 계층형 아키텍처의 구조상 이는 쉬운 일이 아니었다. 계층형 아키텍처(Layered Architecture) 계층형 아키텍처의 내부 컴포넌트는 수평한 계층(Layer)으로 구성되며, 각 계층은 애플리케이션에서 주어진 역할을 수행하게 된다. 계층형 레이어의 종류에는 프리젠테이션(presentation, 웹 계층), 비즈니스(business, 도메인계층), [퍼시스턴스(persistence) , 데이터베..
나는 프로젝트를 개발하면서, 이것이 최선의 코드일까?의 생각에서 시작하여, 이게 최선의 아키텍처 구조일까? 하는 생각의 확장으로, 좋은 코드를 작성하는 방법에서 부터 코드 수준을 넘어서는 좋은 아키텍처에 많은 관심을 갖게되었다. 그런데 좋은 코드에 대한 예시에 대한 자료는 많이 찾아볼 수 있었는는데, 좋은 아키텍처에 대한 예시는 그렇지 못했다.(하지만 다양한 아키텍처에 대한 많은 공부를 할 수 있었다. 그리고 내가 자료를 잘 찾지 못한 것도 한 몫했을것이다..) 좋은 코드와 좋은 아키텍처는 많은 개발을 진행경험하고 다양한 문제를 직면서하면서 점점 구체화되고 생성되어진 것 같다. 좋은 코드, 좋은 아키텍처는 무엇일까? 나는 개발이 그렇듯, 정답은 없지만, 오답은 존재한다 생각한다. 그리고 이번 기회를 통해..
KEEMSY
'포트앤어댑터' 태그의 글 목록