Основы объектно-ориентированного программирования
0e1cc9b4

Ключевые концепции


  • Выбор надлежащей структуры модуля является ключом к достижению целей его возможного повторного использования и расширяемости.
  • Модули служат как для декомпозиции программного обеспечения (проектирование сверху вниз), так и для его композиции (снизу-вверх).
  • Принципы модульности применимы как к спецификации и проектированию, так и к реализации ПО.
  • Всеобъемлющее определение модульности должно объединять различные точки зрения; разные требования иногда оказываются взаимно противоречивыми, например декомпозиция (стимулирующая методы проектирования сверху-вниз) и композиция (способствующая использованию метода снизу-вверх).
  • Управление количеством и формой связей между модулями является основой разработки хорошей модульной архитектуры.
  • Для долгосрочной целостности структур модульной системы требуется скрытие информации, что приводит к необходимости строгого разделения интерфейса и реализации.
  • Унифицированный доступ освобождает клиентов от знания выбора внутренних представлений, реализованных в модулях-поставщиках.
  • Закрытым является такой модуль, который может использоваться, благодаря знанию его интерфейса, модулями-клиентами.
  • Открытым является такой модуль, который еще можно расширять.
  • Для эффективного руководства проектом следует поддерживать модули, являющиеся одновременно как открытыми, так и закрытыми. Но традиционные подходы к разработке и программированию не дают такой возможности.
  • Принцип Единственного Выбора предписывает ограничивать распространение полной информации обо всех вариантах некоторого понятия.



Содержание раздела