클린 3

[클린 아키텍처] 5부. 아키텍처

🍎 테스트 경계 테스트는 시스템의 일부이고, 아키텍처에도 관여한다. 🍊 테스트의 특성 1) 테스트는 의존성 규칙을 따른다. - 테스트는 세부적, 구체적인 것으로 의존성은 항상 테스트 대상이 되는 코드를 향한다. - 실제로 테스트는 아키텍처에서 가장 바깥쪽 원으로 생각할 수 있다. - 시스템 내부의 어떤 것도 테스트에는 의존하지 않으며, 테스트는 시스템의 컴포넌트를 향해, 항상 원의 안쪽으로 의존한다. 2) 테스트는 독립적으로 배포 가능하다. - 대다수의 경우 테스트는 테스트 시스템에만 배포하며, 상용 시스템에는 배포하지 않는다. 3) 테스트는 시스템 컴포넌트 중 가장 고립되어있다. - 테스트가 시스템 운영에 꼭 필요하지 않다. 하지만, 그렇다고 해서 아키텍처 설계 시, 테스트를 설계 범위 밖에 있다고 여..

개발서적 2022.02.22

[클린 아키텍처] 3부. 설계 원칙

🎯 설계 원칙 SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open-Closed Principle) : 개방-폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존성 역전 원칙 ❗ SRP : 단일 책임 원칙 하나의 모듈은 오직 하나의 액터에 대해서만 책임져야 한다. 모듈이란? - 단순한 정의로 소스 파일 징후1) 우발적 중복 Employee라는 클래스 안에 calculatePay, reportHours, save 메서드가 3명의 액터를 책임진다. 즉, 단..

개발서적 2022.01.12

[클린 아키텍처] 1부. 소개

🚪 들어가기. 왜 클린 아키텍처를 읽으려고 하나? 입사한지 7개월차. "과연 잘 짠 코드는 무엇인가?" 의문이 생겼다. 누군가 알려주는 사람은 없었고,,, 혼자 해결해 나가야 했고,, 그러던 중 책을 추천해주었다! 이 책을 읽고 진정한 개발자로 거듭나자! 🎯 소프트웨어 아키텍처의 목표는? 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다. 새로운 기능을 추가할 때, 비용이 증가한다면 나쁜 설계이고, "단순명료"해야 좋은 설계이다. 🔅 소프트웨어 개발의 진리 빨리 가는 유일한 방법은 제대로 가는 것 명심하자! 자신을 과신한다면 재설계하더라도 원래의 프로젝트와 똑같이 엉망으로 내몰린다. 🪄 소프트웨어 개발자가 알아야 하는 2개의 가치 1. 행위 - 대부분의 개발자는 어떤 요구사항을 ..

개발서적 2021.12.12