Clean Architecture-패러다임

Untitled·2022년 1월 9일
0

CleanArchitecture

목록 보기
2/2

1. 구조적 프로그래밍 (structured programming)

구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부여한다.

에츠허르 비버 데이크스트라는 증명이라는 수학적 원리를 적용하여 초기 컴퓨터의 문제점(느리고, 결과마저 믿을 수 없음, 극도로 제한된 사용)을 해결하고자 했다. 프그래머도 입증된 구조를 이용하고 구조를 코드와 결합시키며, 코드가 올바르다는 사실을 증명하게 되는 방식을 사용할 수 있다고 말했는데 goto문장은 재귀적으로 분해하는 과정에서 방해 즉 모듈 분해에 방해가 되어 이를 if/then/else , do/while 를 대신 사용했다. 같은 시기에 뵘, 야코피니는 모든 프로그램은 순차 sequence, 분기 selection, 반복 iteration 구조로만 프로그램을 표현할 수 있다는 사실을 발견!

수학적인 증명 -> 과학적인 방법

데이크스트라는 프로그래밍의 수학적 증명은 실패했다. 하지만 프로그래밍은 수학적인 구조가 아닌 과학 시각으로 바라봤을 때 프로그래밍도 기능들이 목표에 부합하면 참이라고 할 수 있다.

"과학적 방법은 반증은 가능하지만 증명은 불가능하다."


2. 객체 지향 프로그래밍

객체 지향 프로그래밍은 제어흐름의 간접적인 전환에 대해 규칙을 부여한다.

profile
그저 그런 꾸준히 하고만 싶은 개발자 이야기

0개의 댓글