1.읽기 좋은코드
2.중복없는 코드
3.테스트 하기 용이한 코드
객체지향 프로그래밍이 나오기 전에는 중심에는 컴퓨터가 있었다.
즉 컴퓨터 사고방식 대로 프로그래밍을 하였다.
현실 세계를 프로그래밍으로 옮겨와 프로그래밍 한 것을 말한다.
REST의 기본 원칙을 지킨 서비스 디자인을 RESTful 하다고 볼 수 있다.
여기서 REST는 자원(RESOURCE)을 이름으로 구분하고 자원의 상태(STATE)를 주고 받는 것을 말합니다.
장점
1.Open API를 제공하기 쉽다.
2.멀티플랫폼 지원 및 연동이 용이하다
3.원하는 타입으로 데이터를 주고 받을 수 있다.
4.기존 웹 인프라(http)를 그대로 사용 할 수 있다.
단점
1.사용할 수 있는 메소드가 4 가지 밖에 없다.
2.분산환경에는 부적합하다.
3.HTTP 통신 모델에 대해서만 지원한다.
Test-driven-development 이며 테스트 주도 개발이라고 한다.
즉 테스트가 개발을 주도하며 테스트코드 작성-> 실제 코드 작성 -> 리팩토링의 반복 과정을 거친다고 할 수 있다.
함수형 프로그래밍에 대해서는 저도 아직 어려운 부분이 있습니다.
하지만 제가 생각하는 함수형 프로그래밍은 순수함수,고차함수,일급객체 라고 생각합니다.
그러면 순수함수,고차함수,일급객체는 어떤것일까요?
순수함수 : 외부변수에 대해서는 절대 의존하지 않는 것이다.즉 외부 값에 접근하지 않는 것이다.
고차함수 : 함수를 인자로 받거나 함수를 리턴할수 있어아한다.
일급객체 : 일급객체는 몇가지 조건이 필요한데 첫번째로는 변수에 할당 할 수 있어야하고 두번째는 다른 함수를 인자로 받을 수 있어야 하고 세번째로는 다른 함수의 결과로 리턴 될 수 있어야 합니다.