Книга: Технологии программирования
8.14.4. Гибридный проект
8.14.4. Гибридный проект
Переход на новые методы работы может быть мучителен для любой организации. Поскольку в объектно-ориентированных языках возможны несколько схем программирования, язык допускает постепенный переход на него, используя следующие преимущества такого перехода:
1) изучая объектно-ориентированное проектирование, программисты могут продолжать работать по технологии структурного программирования;
2) в окружении, бедном на программные средства, использование объектно-ориентированных языков может принести значительные выгоды.
Рис. 8.18. Гибридный проект
Идея постепенного, пошагового овладения объектно-ориентированными языками и технологий их применения, а также возможность смешения объектно-ориентированного кода с кодом структурного программирования естественно приводит к проекту, имеющему гибридный стиль. Большинство интерфейсов можно пока оставить на процедурном уровне, поскольку что-либо более сложное не принесет немедленного выигрыша (рис. 8.18).
ВЫВОДЫ
• Процедурно-ориентированный и объектно-ориентированный подходы к программированию различаются по своей сути и обычно ведут к совершенно разным решениям одной задачи.
• Объектно-ориентированный подход помогает справиться с такими сложными проблемами, как:
— уменьшение сложности программного обеспечения;
— повышение надежности программного обеспечения;
— обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов;
— обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
• Методы объектно-ориентированного проектирования используют в качестве строительных блоков объекты.
• Принципы абстрагирования, инкапсуляции и модульности являются взаимодополняющими. Объект логически определяет границы определенной абстракции, а инкапсуляция и модульность делают их физически незыблемыми.
• Наследование выполняет в ООП несколько важных функций:
— моделирует концептуальную структуру предметной области;
— экономит описания, позволяя использовать их многократно для задания разных классов;
— обеспечивает пошаговое программирование больших систем путем многократной конкретизации классов.
• Классы из предметной (прикладной) области непосредственно отражают понятия, которые использует конечный пользователь для описаний своих задач и методов их решения.
• Идеальный класс должен в минимальной степени зависеть от остального мира. Каждый класс имеет набор поведений и характеристик, которые его определяют.
• При перестройке иерархии классов применяются четыре процедуры:
1) расщепление класса на два и более;
2) абстрагирование (обобщение);
3) слияние;
4) анализ возможности использования существующих разработок.
• Разработка проекта начинается с составления функциональной модели.
• Объектная модель представляет статическую структуру проектируемой системы (подсистемы).
• Динамическая модель системы представляется диаграммой последовательности и диаграммой состояний объектов.
Контрольные вопросы
1. При решении каких проблем лучше использовать объектно-ориентированный подход?
2. Какие характеристики являются фундаментальными в объектно-ориентированном мышлении?
3. На каких принципах базируется объектная модель?
4. Что такое паттерн проектирования?
5. Какому паттерну соответствует динамический и статический контейнер А. Усова?
6. Какие преимущества дает объектная модель?
7. В чем заключаются преимущества инкапсуляции?
8. В чем заключается важность наследования?
9. Для чего полезен полиморфизм?
10. Что такое агрегирование объекта?
11. Из каких этапов состоит процесс построения объектной модели?
12. Каким образом взаимодействуют между собой объекты в программе?
13. Какие процедуры применяются при перестройке схемы наследования классов?
14. Почему так важен анализ функционирования системы?
15. В чем заключается удобство использования CRC-карточек?
16. Какие диаграммы используют в проектах средней сложности?
- Вопрос совместимости: гибридный программный продукт или гибридные языки?
- 8.14. ГИБРИДНЫЕ ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ
- Ошибки проектирования базы данных
- Глава 7 Чего нужно опасаться при моделировании бизнес-процессов. Проектные риски моделирования бизнеспроцессов
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- 7.4. Модель системы автоматизированного проектирования защиты информации
- Ключевые моменты больших проектов
- Перечень типичных просчетов при определении конечной цели проекта
- 3.1. Стратегии интернет-продвижения вашего проекта
- Основания для выполнения проекта
- Форма проекта
- Успешный руководитель проекта