반응형 Design pattern4 멀티모듈로 헥사고날 구현[2] - application layer를 pojo로 구성하기 멀티모듈로 헥사고날 구현[1] - 모듈 구성멀티모듈로 헥사고날 구현[2] - application layer를 pojo로 구성하기 비즈니스 로직을 포함하는 application layer를 프레임워크나 라이브러리 의존 없이 pojo로 구현하게 되면 외부 환경변화로 부터 비즈니스 로직을 지킬 수 있는 큰 장점을 얻을 수 있다.프레임워크, 라이브러리, 연동 소프트웨어가 바뀌더라도 비즈니스 로직은 수정할 필요가 없어진다.하지만 프레임워크나 라이브러리에서 지원하는 편리한 기능을 사용하지 못한다는 것은 단점이다. 개발을 하며 반드시 필요로하다고 생각했던 기능은 DI이다.스프링의 DI를 활용하면 의존관계를 new 연산자와 같은 코드를 통해 직접 설정하지 않고 어노테이션 기반으로 설정할 수 있다.의존관계는 변경사항.. 2024. 6. 16. 멀티모듈로 헥사고날 구현[1] - 모듈 구성 멀티모듈로 헥사고날 구현[1] - 모듈 구성멀티모듈로 헥사고날 구현[2] - application layer를 pojo로 구성하기헥사고날 아키텍쳐 패턴을 멀티모듈 방식으로 구성한 방식에 대해 공유해보겠다.아키텍쳐에 기반한 모듈 구성과 그역할에 대해 1편에서 소개하고,2편에서는 application layer를 pojo 방식으로 구현한 방법에 대해 소개하겠다. 모듈 구성 헥사고날 아키텍쳐를 간단하게 설명하면비즈니스 로직을 갖는 application core와 클라이언트와 소통하는 user interface, 그리고 application이 필요로하는 툴(DB, 3rd-party-api)을 사용할 수 있게 하는 infrastructure 영역으로 구분된다.비즈니스 로직은 순수한 프로그래밍 언어로 표현되며 비.. 2024. 3. 10. 템플릿 메서드 패턴, 전략 패턴, 템플릿/콜백 패턴 비교 분석 프레임워크는 개발자가 구현한 코드를 알고리즘의 토대 안에서 동작하도록 한다.이렇게 특정 코드가 다른 코드 속에 침투되어 동작하는 디자인 패턴의 대표적인 예로 템플릿 메서드 패턴과 전략패턴이 있다.템플릿 메서드 패턴과 전략 패턴은 모두 공통 로직에 대한 코드 중복을 해결하는 디자인 패턴 사례이다. 목차템플릿 메서드 패턴전략패턴템플릿 메서드 패턴과 전략패턴의 차이템플릿 콜백템플릿 콜백 패턴 적용 사례 : JdbcTemplate전략패턴과 템플릿 콜백 패턴의 차이 1. 템플릿 메서드 패턴템플릿 메서드 패턴은 상위 클래스에서 전체 알고리즘의 구조를 정의하고, 특정단계를 하위 클래스에서 재정의할 수 있는 디자인 패턴이다.이 패턴을 통해 전체 구조를 변경시키지 않고 특정 단계만 확장시켜나가며 구현할 수 있다.간단한 .. 2024. 2. 17. Hexagonal 아키텍쳐 시스템 구성요소3개의 큰 블록으로 구성User Interface 어떤 유저인터페이스 환경에서라도 실행될 수 있게 하는 것(controller는 웹과 모바일 유저 인터페이스 환경에서 실행을 가능하게 하고, console command는 cli 유저 인터페이스 환경에서 실행을 가능하게 한다.)Application Core비즈니스 로직을 담고 있으며, user interface에 의해 호출됨어떤 종류의 user interace인지에 상관 없이 모두 동일한 결과를 반환함 Infrastrure Coreapplication core와 연결, db, 검색엔진, 써드파티 API와 같은 툴 Tool의 연결 : Port & Adapterapplication이 사용하는 DB, 검색엔진, 웹서버, CLI 콘솔과 같은 외부 .. 2023. 12. 18. 이전 1 다음 반응형