프로그래밍 패러다임
content
클린 아키텍처 에 따르면, 프로그래밍 패러다임은 아래 세가지 뿐이다.
패러다임은 패러다임에 맞게 구현된 도구를 사용하거나, 그렇지 않은 도구를 사용하지 않음으로써, 프로그래머의 권한을 제한한다.
- 구조적 프로그래밍(structured programming)
- 프로그래머가 직접적으로 흐름을 통제하는 일을 제한한다.
- goto 문을 없애는 것
- 프로그래머가 직접적으로 흐름을 통제하는 일을 제한한다.
- 객체 지향 프로그래밍(OOP, object oriented programming)
- 프로그래머가 간접적으로 흐름을 통제하는 일을 제한한다.
- 함수 포인터를 사용해 런타임에 실행 함수를 결정하는 일 -> 다형성 문법을 따르게 함
- 프로그래머가 간접적으로 흐름을 통제하는 일을 제한한다.
- 함수형 프로그래밍(functional programming)
- 변수 할당을 제한한다.
- 가변 변수를 없애고 CR만 이용한다.
- 변수 할당을 제한한다.