본문 바로가기

프레젠터2

아키텍처 - 프레젠터와 험블객체 - 이 글은 로버트 C.마틴의 Clean Architecture를 기반으로 작성되었습니다. (가능하면 책을 읽어보는것을 추천한다.) - 험블 객체: https://martinfowler.com/bliki/HumbleObject.html - 험블 객체 패턴 프레젠터는 험블 객체 패턴을 따른다. 험블(humble)이란 사전적으로 보잘것없다는 의미를 지니고 있다. 험블 객체 패턴은 디자인 패턴으로 테스트하기 어려운 행위와 쉬운 행위를 분리하는 패턴이다. 뷰와 엮인 경우 테스트 하기 어려운 부분이 존재하는데, 테스트하기 쉬운 영역과 어려운 영역으로 나누면 프레젠터와 뷰라는 클래스로 나뉘게 된다. - 프레젠터와 뷰 사전적인 의미로 생각해보면 프레젠터와 뷰는 비슷한 느낌이 든다. 하지만 설계 관점에서 이 두 가지를.. 2021. 2. 10.
아키텍처 - 클린 아키텍처 - 이 글은 로버트 C.마틴의 Clean Architecture를 기반으로 작성되었습니다. (가능하면 책을 읽어보는것을 추천한다.) - 개요 지난 수십년간 많은 시스템 아키텍처가 있었다. 이런 아키텍처들은 공통된 목표가 있는데 바로 관심사의 분리이다. 이들은 모두 소프트웨어를 계층으로 분리하였다. 업무규칙에 대한 계층과, 사용자 및 인터페이스를 위한 계층등이 있다. 또한 업무규칙이 아닌 다른 요소와의 독립성도 강조한다. 프레임워크 독립성: 아키텍처는 프레임워크의 존재 여부에 의존하지 않는다. 테스트 용이성: 업무규칙은 외부요소없이도 테스트가 가능해야 한다. UI 독립성: 업무규칙을 변경하지 않고도, UI를 쉽게 변경할 수 있어야 한다. 데이터베이스 독립성: 업무규칙에 영향을 주지 않고, 데이터베이스를 변.. 2021. 2. 10.