Модульне програмування

Мо́дульне програмува́ння парадигма програмування, орієнтована на зменшення складності програмних продуктів та можливості перенесення окремих рішень з одних програмних проектів у інші. Побудована як наслідок модульна архітектура підкреслює поділ функціональності програми на незалежні змінні модулі, таких, що кожен з них містить все необхідне, щоб виконати тільки один аспект необхідної функціональності. Модулі, як правило, включені в програму через інтерфейси.

Парадигма базується на механізмах, що дозволяють будувати програму з окремих модулів шляхом забезпечення:

  • реалізації окремих елементів програми (описів структур даних, реалізації функцій або класів) в окремих файлах (для окремих мов програмування — також у каталогах) з можливістю об'єднання модулів в програмний продукт на етапі компіляції або виконання;
  • логічної завершеності модулів, коли кожен окремий модуль містить елементи, що реалізують деякі логічно закінчені описи та алгоритми;
  • обмеженості модулів у функціональності та розмірах, що дозволяє найкращим способом організувати модулі у програму або переносити модулі між програмами та підтримувати їх;
  • замкнутості модулів, коли кожен модуль надає свій чітко визначений інтерфейс іншим модулям і використовує інші модулі через їх чітко визначений інтерфейс при повній незалежності одних модулів від значень даних, що містяться в інших модулях;
  • універсальності модулів, коли параметри обробки та дані для обробки передаються з інших модулів або файлів конфігурації, а не містяться у модулі як константи або змінні;
  • мінімалістичності модулів, коли кожен модуль надає якомога простий інтерфейс.

Модульне програмування дозволяє зменшити обсяг вихідних текстів програм, зробити їх прозорішими, прискорити написання і тестування програм, зменшити витрати на супровід (експлуатацію) програм. Ознакою якості модульного програмування є організація програми, що складається з можливо більшої кількості модулів при можливо меншій кількості зв'язків між ними.

Див. також

Посилання


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.