Clean Software

프로그래밍 패러다임 변천사

728x90
반응형

구조적 프로그래밍

제어흐름의 직접적인 전환에 대해 규칙을 부과한다.

 

 

객체지향 프로그랭

제어흐름의 간접적인 전환에 대해 규칙을 부과한다.

 

 

함수형 프로그래밍

할당문에 대해 규칙을 부과한다.

 

 

각 아키텍처의 패러다임은 무엇을 해야할지가 아닌 무엇을 해서는 안되는지를 말해준다.

각 패러다임은 goto문 함수 포인터, 할당문을 앗아갔다.

 

아키텍처의 경계를 넘나들기 위한 메커니즘으로 다형성을 이용한다.

ㅅ함수형프로그래밍을 이용하여 데이터의 위치와접근 방법에 대해 규칙을 부과한다.

모듈기반 알고리즘으로 구조적프로그래밍을 사용한다.

세가지 패러다임과 아키텍처의 세가지 큰 관심사(함수, 컴포넌트분리, 데이터관리)가 어떻게 서로 연관되는지에 주목하자.

 

 

구조적 프로그래밍

goto가 모뮫을 더 작은 단위로 재귀적으로 분해나는 과정에 방해가 된다는 것을알게됨

모드 프로그램을 순차sequence 분기selection 반복iteration이라는 세가지 구조만을 표현할 수 있다는 사실을 증명했다.

 

객체지향 프로그래밍

캡슐화

상속

다형성

(의존성역전 : oo 언어가 다형성을 안전하고 편리하게 제공한다는 사실은 소스코드의 의존성을 어디에서든지 역전시킬 수 있다는 뜻이다)

추상화

728x90
반응형

'Clean Software' 카테고리의 다른 글

클린아키텍쳐  (0) 2023.04.22
소프트웨어 아키텍처  (0) 2021.12.06