Аспекты пакетов
Рассматривая рис. 7.2, вы понимаете, что на диаграмме присутствуют структуры двух видов. Одна - структура уровня приложения: представление (presentation), предметная область (domain), преобразователь данных (data mapper) и база данных (database). Другая - структура предметных областей: аренда (leasing) и собственность (asset).
Это можно сделать более прозрачным, если разделить два данных аспекта так, как это сделано на рис, 7.3. На представленной диаграмме можно ясно увидеть каждый аспект. Однако эти два аспекта не явля-
ются истинными пакетами, поскольку рассматриваемые классы можно объединить в один пакет. (Возможно, вам придется извлечь по одному классу из каждого аспекта.) Эта проблема является отражением проблемы иерархических пространств имен в языках программирования. Хотя диаграммы, подобные представленным на рис 7.3, не входят в стандарт языка UML, они зачастую очень удобны для объяснения структуры сложных приложений.