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