3가지 패러다임에 대해서 배운다
- 구조적 프로그래밍
- 객체지향 프로그래밍
- 함수형 프로그래밍
구조적 프로그래밍
최초로 적용된 패러다임이다.
구조적 프로그래밍은 제어 흐름의 직접적인 전환에 대해 규칙을 부과한다.
객체지향 프로그래밍
함수 호출 스택 프레임을 heap으로 옮김으로써 함수 호출이 반환된 이후에도 함수에서 선언된 지역 변수가 오래 유지 됨을 발견
객체지향 프로그래밍은 제어흐름의 간접적인 전환에 대해 규칙을 부과함
힘수형 프로그래밍
알론조 처치라는 사람이 수학적 문제를 발견하는 과정에서 람다 계산법을 발명함
람다 계산법의 기초가 되는 개념은 ‘불변성’으로 심볼 값이 변경되지 않는다는 개념
함수형 프로그래밍은 할당문에 대해 규칙을 부과한다.
결론
패러다임의 역사로부터 얻는 교훈은 아키텍처와 모두 관련이 있음.
아키텍처 경계를 넘나들기 위한 메커니즘으로 다형성을 이용한다. 그리고 함수형 프로그래밍을 이용하여 데이터의 위치와 접근 방법에 대해 규칙을 부과함
세가지 패러다임과 세 가지 큰 관심사(함수, 컴포넌트분리, 데이터 관리)가 어떻게 서로 연관되는지 주목해보자
'책 > 클린 아키텍처' 카테고리의 다른 글
2장 - 두 가지 가치에 대한 이야기 (0) | 2024.02.04 |
---|---|
1장 - 설계와 아키텍처란? (0) | 2024.02.04 |