Bagikan melalui


Model Pemrograman

Pada hari-hari awal pemrograman komputer, setiap program ditulis sebagai potongan monolitik besar, diisi dengan pernyataan goto . Setiap program harus mengelola input dan outputnya sendiri ke perangkat keras yang berbeda. Ketika disiplin pemrograman matang, kode monolitik ini diatur ke dalam prosedur, dengan prosedur yang paling umum digunakan dikemas dalam pustaka untuk berbagi dan menggunakan kembali.

pernyataan goto monolitik versus prosedur yang dikemas ke dalam pustaka bersama

Bahasa pemrograman C mendukung pemrograman berorientasi prosedur. Di C, prosedur utama berkaitan dengan semua prosedur lain sebagai kotak hitam. Misalnya, prosedur utama tidak dapat mengetahui bagaimana prosedur A, B, dan X melakukan pekerjaan mereka. Prosedur utama hanya memanggil prosedur lain; tidak memiliki informasi tentang bagaimana prosedur itu diterapkan.

isolasi kegiatan yang dilakukan dalam prosedur luar

Bahasa pemrograman berorientasi prosedur menyediakan mekanisme sederhana untuk menentukan dan menulis prosedur. Misalnya, prototipe fungsi C standar ANSI adalah konstruksi yang digunakan untuk menentukan nama prosedur, jenis hasil yang dikembalikannya (jika ada) dan angka, urutan, dan jenis parameternya. Menggunakan prototipe fungsi adalah cara formal untuk menentukan antarmuka antar prosedur.

Microsoft RPC dibangun pada model pemrograman tersebut dengan memungkinkan prosedur, dikelompokkan bersama dalam antarmuka, untuk berada dalam proses yang berbeda dari pemanggil. Microsoft RPC juga menambahkan pendekatan yang lebih formal untuk definisi prosedur yang memungkinkan pemanggil dan rutinitas yang disebut untuk mengadopsi kontrak untuk bertukar data dari jarak jauh dan memanggil fungsionalitas. Dalam model pemrograman RpC Microsoft, panggilan fungsi tradisional dilengkapi dengan dua elemen tambahan.

  • Elemen pertama adalah file .idl/.acf yang secara tepat menjelaskan pertukaran data dan mekanisme parameter-passing antara pemanggil dan prosedur yang disebut.
  • Elemen kedua adalah sekumpulan API run-time yang memberi pengembang kontrol terperinci atas panggilan prosedur jarak jauh, termasuk aspek keamanan, mengelola status di server, menentukan klien mana yang dapat berbicara dengan server, dan sebagainya.