Основним принципом побудови сучасних програмних систем є модульність. Розділення на модулі (компоненти) спрощує реалізацію великої системи, при цьому слід дотримуватися основних принципів модульності: розділення інтерфейсу і реалізації, слабка зв'язність та сильна спорідненість, повторне використання.
Важливу роль відіграють інтерфейси компонентів, які встановлюють правила взаємодії компонентів та інтерфейси проміжного рівня, які забезпечують взаємодію віддалених компонентів.
Контрольні запитання і завдання для самостійної роботи
1. Які основні принципи модульності?
2. Яка різниця між висхідною і низхідною стратегіями проектування системи? які переваги та недоліки має кожна з них?
3. Які основні вимоги висуваються до інтерфейсу компонента?
4. Чому інтерфейс компонента називають його контрактом?
5. У чому полягає ідея обміну повідомленнями? Назвіть можливі варіанти віддаленого виклику процедур.
6. У чому полягає ідея віддаленого виклику процедур?
7. Яке призначення менеджера черги повідомлень?
8. Що таке маршалінгі для чого він застосовується? Яка різниця між маршалінгом об'єкта за посиланням і за значенням?
9. Які можуть бути технології інтеграції компонентів?
10. Що означає принцип повторного використання компонентів? Які переваги він надає розробникам програмного забезпечення?