Тема 4. Ринок досконалої конкуренції
Пакеты
Модель классов можно уместить на одной странице, если решается задача небольшого или среднего размера. Большую модель бывает трудно охватить целиком. Рекомендуется разбивать большие модели на части, чтобы другим людям было проще понять их.
Пакет — это группа элементов (классов, ассоциаций, обобщений и вложенных пакетов), объединенных общей темой. Пакеты разбивают модель на части, что упрощает ее понимание и поддержку. Для крупных приложений может потребоваться несколько уровней пакетов. Пакеты образуют дерево, уровень абстрактности которого увеличивается в направлении корня — приложения, которое одновременно является пакетом верхнего уровня. Пакет обозначается прямоугольником с закладкой (рис. 47). Закладка подразумевает наличие вложенного содержимого и должна вызывать ассоциации с папкой.
Рисунок 47 – Обозначение пакета
Тема пакета может быть достаточно произвольной. Темой может быть основной класс, основные отношения, важнейшие аспекты функциональности или симметрия. Во многих бизнес-системах имеются пакеты, которые называются Customer (Клиент) или Part (Деталь). Клиент и Деталь — основные классы, важные для бизнеса, поэтому они и присутствуют во множестве приложений. В инженерном приложении мы разделили модель классов на пакеты по преобладающему отношению. Модель была нацелена на описание оборудования, а атрибуты и отношения сильно отличаются у разных типов оборудования. Модель классов компилятора можно было бы разделить на пакеты лексического анализа, разбора, семантического анализа, генерации кода и оптимизации. После формирования пакетов можно воспользоваться соображениями симметрии для формирования дополнительных пакетов.
Приведем рекомендации, которыми стоит воспользоваться при проектировании пакетов.
– Аккуратно определяйте область каждого пакета. Точные границы пакета зависят только от вас. Определение области пакета требует планирования и организации, подобно многим другим аспектам моделирования. Следите за тем, чтобы имена классов и ассоциаций в каждом пакете были уникальными и по возможности согласовывались друг с другом в разных пакетах.
– Определяйте каждый класс только в одном пакете. В этом пакете должны быть указаны название класса, его атрибуты и операции. В остальных пакетах, ссылающихся на этот класс, достаточно значка класса — прямоугольника с его именем. Такое соглашение облегчает чтение моделей классов, потому что сразу видно, к какому пакету относится какой-либо класс. Читатель не отвлекается на определения, которые могут быть несогласованными (если вы забудете исходное определение класса). Кроме того, оно упрощает параллельную разработку пакетов.
– Делайте пакеты удобными для совместного использования. Ассоциации и обобщения должны умещаться внутри одного пакета, но классы могут присутствовать в разных пакетах и тем самым связывать их. В среднем не более 20—30 % классов должны присутствовать в нескольких пакетах.
1. Сутність ринку досконалої конкуренції
2. Особливості попиту на продукцію конкурентної фірми
3. Особливості деяких показників.
4. Конкурентна стратегія фірми у короткостроковому періоді
5. Конкурентна стратегія фірми у довгостроковому періоді
6. Досконала конкуренція та ефективність.