Способ мышления-Форт




Программирование на уровне компонентов - часть 2


Рис.1-7. Структурированная разработка против разработки на уровне компонентов.

Последовательное/иерархическое проектирование:

+-----------------+ | обновить-запись | +-----------------+ | +---------------+--------------------+ | | | +-------|--------+ +----|-----------------+ +|--------------+ | СЧИТАТЬ-ЗАПИСЬ | | РЕДАКТИРОВАТЬ-ЗАПИСЬ | | ПИСАТЬ-ЗАПИСЬ | +----------------+ +----------------------+ +---------------+

Разработка по компонентам:

: ОБНОВИТЬ-ЗАПИСЬ ЗАПИСЬ ЧИТАТЬ РЕДАКТИРОВАТЬ ЗАПИСЬ ПИСАТЬ ; | \ | / | | \_______|___________/__ | | _______________|__________/ \ | | / | \ | +------|-/--+ +-----|----+ +----\----|-----+ | структура | | редактор | | программы | | записей | | | | записи/чтения | +-----------+ +----------+ +---------------+

Представим себе, что после того, как программа была написана, нам потребовалось изменить структуру записи. При последовательном, иерархическом проектировании это затронет все три модуля. При проектировании на уровне компонентов изменение коснется лишь компонента, описывающего структуру записи. Ничто другое, использующее этот компонент, не должно знать о перемене.

В дополнение к перечисленному преимущество такой схемы состоит в том, что программисты в группе могут получить в разработку индивидуальные компоненты с меньшей взаимозависимостью. Принцип программирования компонентов применим к руководству группой так же, как и к разработке программ.

Мы будем называть набор слов для описания компонента "лексиконом". (Одно из значений слова "лексикон" -- "набор слов, относящийся к определенному кругу интересов".) Лексикон -- это Ваш наружный интерфейс с компонентами (рис. 1-8).

Рис.1-8. Kомпонент описывается лексиконом.

ВЕЩЬ ДУХАЙКИ ВЕРТЕТЬ РАЗДВИГАТЬ ДЕЛО ТЕМА ПИХАТЬ ЦЕПЛЯТЬ ТОВАР ЧТОЭТО | КРУТИТЬ / | | \ / / | | \ / | +-|--\--------/----/--|-----------|--\---------/-----|------+ | |Объекты данных | | Алгоритмы (действия) | | | (вещи) / | ... \ | | | | \ * ------ ---> /| | | | /\ +---+ / \ |----| |




Содержание  Назад  Вперед