CS/Clean Architecture(3)
-
Clean Architecture_3부 정리
3부. 설계 원칙 Solid 원칙 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명 SRP(단일 책임 원칙): 각 소프트웨어 모듈은 변경의 이유가 단 하나여야함 OCP(개방 폐쇄 원칙): 기존 코드를 수정하기보다는 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할수 있도록 설계해야 시스템을 쉽게 변경할 수 있다. LSP(리코스프 치환 원칙): 상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 잇으려면, 이들 구성요소는 반드시 서로 치환 가능해야한다는 제약을 지켜야함 ISP(인터페이스 분리 원칙): 소프트웨어 설계자는 사용하지 않은 것에 의존하지 않아야 한다. DIP(의존성 역전 원칙): 고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하..
2023.04.01 -
Clean Architecture_2부 정리
4장. 구조적 프로그래밍 데이크스트라: goto문장이 모듈을 더 작은 단위로 재귀적으로 분해하는 과정에 방해가 되는 경우가 있다는 사실 발견 모듈을 분해할 수 없으면 분할 정복 접근법 사용 불가 goto문의 좋은 사용 방식은 if, then, else, do/while 과 같은 분기와 반복이라는 단순한 제어 구조에 해당한다는 사실 발견 이러한 종류의 제어구조만 사용한다면 증명 가능한단위로 모듈을 재귀적으로 세분화 하는 것이 가능 뵘과 야코피니: 모든 프로그램은 순차, 분기, 반복 이라는 세가지 구조만으로 표현 가능 → 모듈을 증명가능하게 하는 바로 그 제어 구조가 모든 프로그램을 만들 수 있는 제어구조의 최소 집합과 동일 → 구조적 프로그래밍 탄생 5장. 객체 지향 프로그래밍 객체 지향 언어의 필수 요소..
2023.03.31 -
Clean Architecture_1부 정리
1부. 소개 1장. 설계와 아키텍처란? 설계 == 아키텍처 설계 : 저수준의 구조 또는 결정사항 등을 의미할 때가 많음 아키텍처 : 고수준의 무언가를 가리킬 때 흔히 사용 소트트웨어 아키텍처의 목표 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화 2장. 두 가지 가치에 대한 이야기 소프트웨어 시스템이 제공하는 가치 행위 (기능) 긴급하지만 매번 높은 중요도를 가지는 것은 아님 구조 (아키텍처) 중요하지만 즉각적인 긴급성을 필요호 하는 경우는 없음 우선순위 긴급하고 중요한 긴급하지는 않지만 중요한 긴급하지만 중요하지 않은 긴급하지도, 중요하지도 않은
2023.03.31