Robert C. Martin의 Clean Architecture 3부 '설계 원칙' 7-11장을 읽고 메모한 글입니다. 요약글은 아닙니다. 개인적인 의견도 포함되어 있으니 참고해주세요. 모든 예제코드는 Swift로 작성되었습니다. SOLID 원칙 개요 함수와 데이터 구조를 클래스로 배치하고 이 클래스들을 서로 결합하는 방법에 대한 원칙 SRP, OCP, LSP, ISP, DIP 목표 변경에 유연하게 가독성 재사용성 등등 7장. SRP (단일 책임 원칙) - Single Responsibility Principle - A class should have one, and only one, reason to change. - 하나의 모듈은 하나의 책임만 가진다 (*하나의 모듈은 하나의 일만 한다, 가 아님...
Robert C. Martin의 Clean Architecture 2부 '벽돌부터 생각하기: 프로그래밍 패러다임' 3-6장을 읽고 메모한 글입니다. 요약글은 아닙니다. 개인적인 의견도 포함되어 있으니 참고해주세요. 3장. 패러다임 개요 프로그래밍 패러다임이란 무엇인가? 사전에서의 패러다임 - 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는, 사물에 대한 이론적인 틀이나 체계. 순화어는 '틀'. 프로그래밍 패러다임은 '프로그래밍에 대한 이론적인 틀이나 체계'. 프로그래밍을 하는 방법이라고 할 수 있다. 언제, 어디에 이 구조를 사용할지 결정하며, 따라서 대체로 언어에 독립적이다. 여기서는 다음 세 가지 프로그래밍 패러다임을 다룬다. 구조적 프로그래밍 (Structured Pr..
Robert C. Martin의 Clean Architecture 1부 1, 2장을 읽고 메모한 글입니다. 요약글은 아닙니다. 1장. 설계와 아키텍처란? 일반적으로 설계는 저수준, 아키텍처는 고수준의 구조나 결정사항을 가리킬 때 쓰이는 용어이다. 그러나 설계와 아키텍처 사이에는 근본적인 차이가 없다. 두 가지를 뚜렷하게 구분할 수는 없다. 고수준에서 저수준으로 향하는 의사결정이 연속적으로 이루어진다고 보는 것이 맞다. 소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다. 즉, 비용은 최소화, 생산성은 최대화. 이 사항을 만족할 수 있다면 좋은 설계라고 볼 수 있다. 이런 설계(아키텍처)를 어떻게 할 수 있는지에 대해 앞으로 다룰 것이다. 2장. 두 가지..