Udostępnij przez


Model programowania

We wczesnych dniach programowania komputerowego każdy program był pisany jako duży monolityczny fragment, wypełniony instrukcjami goto. Każdy program musiał zarządzać własnymi danymi wejściowymi i wyjściowymi na różnych urządzeniach sprzętowych. W miarę dojrzewania dyscypliny programowania ten monolityczny kod został zorganizowany w procedury, z najczęściej używanymi procedurami zapakowanymi w biblioteki do udostępniania i ponownego używania.

monolityczne instrukcje goto a procedury zapakowane w udostępnione biblioteki

Język programowania C obsługuje programowanie zorientowane na procedury. W C, główna procedura odnosi się do wszystkich innych procedur jako czarnych skrzynek. Na przykład główna procedura nie może dowiedzieć się, jak procedury A, B i X wykonują swoją pracę. Główna procedura wymaga tylko innej procedury; nie ma informacji o tym, jak ta procedura jest wdrażana.

izolacja działań wykonywanych w zewnętrznych procedurach

Języki programowania zorientowane na procedury zapewniają proste mechanizmy określania i pisania procedur. Na przykład prototyp funkcji C-standard ANSI jest konstrukcją używaną do określania nazwy procedury, typu zwracanego wyniku (jeśli istnieje) oraz liczby, sekwencji i typu jego parametrów. Użycie prototypu funkcji to formalny sposób określania interfejsu między procedurami.

Program Microsoft RPC opiera się na tym modelu programowania, umożliwiając procedury pogrupowane razem w interfejsach, aby znajdować się w różnych procesach niż obiekt wywołujący. Microsoft RPC dodaje również bardziej formalne podejście do definicji procedury, które umożliwia wywołującemu i wywoływanej rutinie zawarcie kontraktu dotyczącego zdalnej wymiany danych i wywoływania funkcjonalności. W modelu programowania RPC firmy Microsoft tradycyjne wywołania funkcji są uzupełniane dwoma dodatkowymi elementami.

  • Pierwszym elementem jest plik .idl/.acf, który dokładnie opisuje wymianę danych i mechanizm przekazywania parametrów między obiektem wywołującym i wywoływaną procedurą.
  • Drugi element to zestaw interfejsów API czasu wykonywania (run-time APIs), które zapewniają deweloperom szczegółową kontrolę nad zdalnym wywołaniem procedur, w tym zapewniają kontrolę aspektów zabezpieczeń, zarządzanie stanem na serwerze, określenie, którzy klienci mogą komunikować się z serwerem, itd.