minho Yoo's blog

아키텍처란?

15. 아키텍처란? 소프트웨어 아키텍트는 프로그래머이며, 앞으로도 계속 프로그래머로 남는다. 소프트웨어 아키텍트는 최고의 프로그래머이며, 앞으로도 계속 프로그래미 작업을 맡은 뿐만 아니라 동시에 나머지 팀원들이 생산성을 극대화할 수 있는 설계를 하도록 방향을 이끌어 준다. 소프트웨어 시스템의 아키텍처란 시스템을 구축했던 사람들이 만들어낸 시스템의...

컴포넌트

12. 컴포넌트 컴포넌트는 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위 여러 컴포넌트를 서로 링크하여 실행 가능한 단일 파일로 생성 가능 잘 설계된 컴포넌트라면 반드시 독립적으로 배포 가능한, 따라서 독립적으로 개발 가능한 능력을 갖춰야 한다. 컴포넌트의 간략한 역사 개발 초창기에는 메모리에서의 프로그램 위치와 레이아웃을 프로그래머가...

OCP: 개방-폐쇄 원칙

8. OCP: 개방-폐쇄 원칙 소프트웨어 개체는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다. 사고 실험 소프트웨어 아키텍처가 훌륭하다면 변경되는 코드의 양이 가능한 한 최소화 됨 서로 다른 목적으로 변경되는 요소를 적절하게 분리하고, 이들 요소 사이의 의존성을 체계화함으로써 변경량을 최소화 가능 아키텍트는 기능이 어떻게, 왜, 언...

SRP: 단일 책임 원칙

7. SRP: 단일 책임 원칙 단 하나의 일만 해야 한다는 원칙은 SRP가 아님(헷갈림 주의!) 단일 모듈은 변경의 이유가 하나, 오직 하나뿐이여야 한다 하나의 모듈은 하나의, 오직 하나의 사용자 또는 이해관계자에 대해서만 책임져야 한다. 하나의 모듈은 하나의, 오직 하나의 액터에 대해서만 책임져야 한다. 모듈은 단순히 함수와 데이터 구조로 ...