본문 바로가기

단일2

아키텍처 - 부분적인 경계 - 이 글은 로버트 C.마틴의 Clean Architecture를 기반으로 작성되었습니다. (가능하면 책을 읽어보는것을 추천한다.) - 개요 아키텍처 경계를 완벽하게 하는데에는 비용이 많이 든다. 양방향으로 인터페이스를 정의하고, 입력과 출력에 대한 데이터 구조를 만들며, 독립적으로 컴파일 및 배포를 할 수 있도록 컴포넌트를 설계하고 의존성을 관리해야 한다. 이런 이유로 어떤 사람들은 경계를 완벽하게 만드는것이 과도하게 선행적인 설계라고 생각한다. 너무 완벽한 경계를 구현하는데 과도한 비용이 들어간다면 경계를 부분적으로 구현하는것을 고려해볼 수 있다. - 단일배포 첫번째 방법으로는 소스는 완벽한 경계를 구현하지만, 단일 컴포넌트로 컴파일해서 배포하는것이다. 이렇게 되면 코드는 간단해지지 않지만 의존성이나.. 2021. 2. 10.
설계원칙 - SOLID(SRP) - 이 글은 로버트 C.마틴의 Clean Architecture를 기반으로 작성되었습니다. (가능하면 책을 읽어보는것을 추천한다.) - 개요 단일 책임 원칙은 가장 많은 오해를 사고 있는 원칙이다. 이름만 보면 마치 하나의 모듈은 하나의 일만 해야하는 것처럼 느껴진다. 하지만 이는 오해이다. 하나의 모듈은 하나의 액터(사용자 및 이해관계자)에 대해서만 책임져야 한다. 모듈이란 보통의 경우엔 소스파일이다. SRP를 위반하는 원칙들을 살펴보면서 SRP를 이해해보자. - 징후: 우발적 증복 급여 어플리케이션에서 Employee 클래스가 있고, 해당 클래스에서 calculatePay(), reportHours(), save() 메소드를 제공한다고 해보자. 이 클래스는 SRP를 위반한다고 할 수 있는데, diag.. 2021. 2. 10.