ООП, структура программы |
Здравствуйте, гость ( Вход | Регистрация )
ООП, структура программы |
Litkevich Yuriy |
19.2.2011, 11:18
Сообщение
#1
|
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Читал я некоторое время назад про вяского рода декомпозицию и т.п. Но как-то всё бестолку.
вот реальная задача: Нужно сделать несложную программку, для получения текстовой конструкторской документации из фалов САПР. Из файла эл.схемы - перечень элементов к ней, из файла печатной платы - спецификацию. Программа задумана с концепцией "Проект", в проект входит список исходных файлов САПРа, см. снимок. Слева панель - дерево проекта, в проект можно добавлять связанные с ним файлы. Щёлкнув по имени файла в дереве, в MDI-области появляется виджет представляющий информацию (например, в виде таблицы) о файле (перечень/спецификация). В качестве файла проекта выбран файл БД SQLite. Для получения из файла схемы её перечня элементов и из файла платы - спецификации, файл анализируется некой специальной функцией (её код в данный момент интереса не представляет). Дак вот хотелось бы, чтобы кто-нибудь расписал на примере этой задачи, что и как декомпозировать. Какие классы должны получится и как они должны взаимодействовать друг с другом. Т.е. не просто соображения "как бы я сделал". А как это всё формально предлагается делать, разного рода теоретиками ООП. |
|
|
||
Litkevich Yuriy |
19.2.2011, 14:43
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Для одного проекта можно указывать любое количество исходных файлов? да, для пущей универсальности.Я пока вижу только три явных объекта: * проект (класс Project) * схема (класс Circuit) * плата (класс Board) (а перечень и спецификация могут быть просто форматированным выводом данных классов Circuit и Board, соответственно) И куда-то и как-то нужно засунуть дерево, может как часть MainWindow оставить. однако дерево непосредственно зависит от экземпляра Project. |
|
|
Текстовая версия | Сейчас: 18.1.2025, 10:45 |