프로그래밍 모델

컴퓨터 프로그래밍 초기에 각 프로그램은 goto 문으로 채워진 큰 모놀리식 청크로 작성되었습니다. 각 프로그램은 다른 하드웨어 디바이스에 대한 자체 입력 및 출력을 관리해야 했습니다. 프로그래밍 분야가 성숙함에 따라 이 모놀리식 코드는 가장 일반적으로 사용되는 프로시저가 공유 및 재사용을 위해 라이브러리에 압축된 프로시저로 구성되었습니다.

공유 라이브러리로 압축된 프로시저와 모놀리식 goto 문

C 프로그래밍 언어는 프로시저 지향 프로그래밍을 지원합니다. C에서 기본 프로시저는 다른 모든 프로시저와 블랙박스와 관련이 있습니다. 예를 들어 기본 프로시저는 A, B 및 X 프로시저가 해당 작업을 수행하는 방법을 확인할 수 없습니다. 기본 프로시저는 다른 프로시저만 호출합니다. 해당 프로시저가 구현되는 방법에 대한 정보는 없습니다.

외부 프로시저에서 수행되는 활동의 격리

프로시저 지향 프로그래밍 언어는 프로시저를 지정하고 작성하기 위한 간단한 메커니즘을 제공합니다. 예를 들어 ANSI 표준 C-함수 프로토타입은 프로시저 이름, 반환하는 결과의 형식(있는 경우) 및 매개 변수의 숫자, 시퀀스 및 형식을 지정하는 데 사용되는 구문입니다. 함수 프로토타입을 사용하는 것은 프로시저 간의 인터페이스를 지정하는 공식적인 방법입니다.

Microsoft RPC는 인터페이스에서 함께 그룹화된 프로시저가 호출자가 아닌 다른 프로세스에 상주할 수 있도록 하여 해당 프로그래밍 모델을 기반으로 합니다. 또한 Microsoft RPC는 호출자와 호출된 루틴이 원격으로 데이터를 교환하고 기능을 호출하기 위한 계약을 채택할 수 있도록 프로시저 정의에 보다 공식적인 접근 방식을 추가합니다. Microsoft RPC 프로그래밍 모델에서 기존 함수 호출은 두 개의 추가 요소로 보완됩니다.

  • 첫 번째 요소는 호출자와 호출된 프로시저 간의 데이터 교환 및 매개 변수 전달 메커니즘을 정확하게 설명하는 .idl/.acf 파일입니다.
  • 두 번째 요소는 개발자에게 보안 측면, 서버의 상태 관리, 서버와 통신할 수 있는 클라이언트 지정 등을 포함하여 원격 프로시저 호출을 세부적으로 제어할 수 있는 런타임 API 집합입니다.