클린아키텍처2 설계 원칙 소프트웨어 아키텍처의 목표는 무엇인가? 생산성을 극대화하기 위함이다. 그렇다면 생산성을 극대화 한다는 것은 무엇을 의미하는가? 변경에 유연하고, 기능을 확장할 수 있어야한다. 그렇다면 어떤 코드가 변경에 유연해야하고, 어떤 코드가 확장되어야할 코드일까? 그러니까 어떤 영역을 우리는 지켜야 할까? 바로 우리의 도메인 영역이다. 도메인 영역을 잘 지키기 위해서는 어떻게 해야할까? OCP OCP 는 이런 관점에서 중요한 설계 원칙이다. 기존 코드의 변경없이, 기능을 확장할 수 있어야한다. 그렇다면 이것은 어떻게 가능할까? OCP는 단순히 다형성만으로 설명할 수 있는 개념은 아니다. 아키텍처 관점으로 볼때, OCP가 잘 이루어지기 위해서는, 컴포넌트와 모듈은 응집력있고, 컴포넌트와 모듈의 결합은 낮아야한다. 이.. 2023. 9. 3. Yagni (You aren’t gonna need it) (feat. 클린 아키텍처) https://martinfowler.com/bliki/Yagni.html 2023. 7. 2. 이전 1 다음