반응형

인터페이스 2

JavaScript로 interface 모사하기

소개 JavaScript에는 class만 존재하고, interface가 없습니다. 따라서, interface를 이용한 아키텍처를 불완전하게 적용할 수 밖에 없습니다. class만으로 interface와 비슷한 기능을 하도록 모사하는 방법을 제안합니다. Step 1. interface base 생성 프로젝트에서 소스 폴더 내에 interfaces 폴더를 생성하고, 그 안에 base.interface.js 파일을 만들어 다음과 같이 작성합니다. /** * 인터페이스 정의 헬퍼 함수 * * @template T * @param {T} newInterface * @returns {T} */ function defineInterface(newInterface){ const NOT_IMPLEMENTED = "thr..

Hexagonal Architecture 소개

개요 Hexagonal Architecture (줄여서 HA)는 Alistair Cockburn이 2005년에 제안한 구조입니다. HA는 기존의 Layered Architecture에서 더 나아가 레이어 간에 직접적인 연결을 맺는 대신, 중간에 인터페이스를 통해 상호작용을 함으로써 결합도 (coupling)를 낮추도록 설계된 아키텍처입니다. 결합도를 낮추게 되면 각 레이어를 자유롭게 교체할 수 있으며, 이를 통해 테스트를 손쉽게 수행할 수 있습니다. 또 다른 이름으로 HA는 Ports and Adapters라고도 불립니다. 아키텍처의 구조를 인터페이스인 포트와 중개 역할을 하는 어댑터를 통해 설명하고 있기 때문입니다. 작업 영역 이번 포스팅에서 소개하는 HA를 적용한 애플리케이션을 “HA 앱”이라고 하겠..

반응형