본문 바로가기

객체지향원칙2

클린 아키텍처 8장, 9장, 10장, 11장 리뷰 8장 OCP : 개방폐쇄 원칙 소프트웨어 개채(artifact)는 확장에 열려 있어야 하며, 변경에는 닫혀 있어야 한다. 개체의 행위는 확장할 수 있어야 하지만, 이 때 산출물을 변경해서는 안된다. 사고 실험 A기능을 이용해 B형태로 보여주는 기능이 있다 이 때, B 형태에 추가적인 사항이 생겨 새로운 C 형태로 보여주는 기능이 추가 되어야 할 때 이상적인 코드 변경량 : 0 (변경되는 코드의 양을 최소화해야한다.) 위 그림에서 FinancialDataMapper은 구현관계를 통해, FinancialDataGateway를 알고 있지만, FinancialDataGateway는 FinancialDataMapper를 알지 못한다. : 인터페이스 : 데이터 구조 -> : 호출 관계 -ᐅ : 구현 / 상속 관계 .. 2022. 12. 28.
클린 아키텍처 1장, 2장, 3장, 4장, 5장 리뷰 클린 아키텍처 1장. 설계와 아키텍처 설계(design) vs 아키텍처(architecture) 전체 설계의 구성요소 관점에서는 설계와 아키텍처를 구분지을 필요 X 아키텍처는 고수준, 설계는 저수준의 세부사항이라고 하지만 건축/SW 설계에서는 개별적으로 존재할 수 없다. 좋은 SW 설계의 목표 필요한 시스템을 만들고 유지보수하는데 투입되는 리소스를 최소화 새로운 feature 때마다 비용이 증가한다면 나쁜 설계 나쁜 신호 직원이 많아지지만, 코드 생산성(LoC)가 그대로라면 생산성은 떨어지는 것 시스템 급하게 개발, 코드와 설계의 구조를 클린하게 하고자하지 않으면 생산성은 떨어짐 토끼 개발자와 거북이 개발자 토끼 개발자 : 일만 계속하지만, 설계의 중요성을 알고서도 실천하지않음. 생산성 유지할 수 있을 .. 2022. 12. 11.