Бьерн Страуструп.
Язык программирования С++
318
программа, которая наиболее непосредственно отражает реальный мир". Иными словами, при выборе
модели мы должны стремиться к большей ее"реальности", но с учетом неизбежных ограничений,
накладываемых требованиями простоты и эффективности. Поэтому, несмотря на простоту
преобразования обычного движущегося средства в аварийное, второе решение представляется
непрактичным. Пожарные машины и машины скорой помощи – это движущиеся средства специального
назначения со специально подготовленным персоналом, они действуют под управлением команд
диспетчера, требующих специального оборудования для связи. Такое положение означает, что
принадлежность к аварийным движущимся средствам - это базовое понятие, которое для улучшения
контроля типов и применения различных программных средств должно быть прямо представлено в
программе. Если бы мы моделировали ситуацию, в которой назначение движущихся средств не столь
определенно, скажем, ситуацию, в которой частный транспорт периодически используется для доставки
специального персонала к месту происшествия, а связь обеспечивается с помощью портативных
приемников, тогда мог бы оказаться подходящим и другой способ моделирования системы.
Для тех, кто считает пример моделирования движения транспорта экзотичным, имеет смысл сказать,
что в процессе проектирования почти постоянно возникает подобный выбор между наследованием и
принадлежностью. Аналогичный пример есть в $$12.2.5, где описывается свиток (scrollbar) -
прокручивание информации в окне.
Достарыңызбен бөлісу: