프로그래밍 패러다임

content

클린 아키텍처 에 따르면, 프로그래밍 패러다임은 아래 세가지 뿐이다.

패러다임은 패러다임에 맞게 구현된 도구를 사용하거나, 그렇지 않은 도구를 사용하지 않음으로써, 프로그래머의 권한을 제한한다.

  1. 구조적 프로그래밍(structured programming)
    1. 프로그래머가 직접적으로 흐름을 통제하는 일을 제한한다.
      1. goto 문을 없애는 것
  2. 객체 지향 프로그래밍(OOP, object oriented programming)
    1. 프로그래머가 간접적으로 흐름을 통제하는 일을 제한한다.
      1. 함수 포인터를 사용해 런타임에 실행 함수를 결정하는 일 -> 다형성 문법을 따르게 함
  3. 함수형 프로그래밍(functional programming)
    1. 변수 할당을 제한한다.
      1. 가변 변수를 없애고 CR만 이용한다.

refs