Здравствуйте, гость ( Вход | Регистрация )
|
Litkevich Yuriy |
19.2.2011, 11:18
Сообщение
#1
|
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Читал я некоторое время назад про вяского рода декомпозицию и т.п. Но как-то всё бестолку.
вот реальная задача: Нужно сделать несложную программку, для получения текстовой конструкторской документации из фалов САПР. Из файла эл.схемы - перечень элементов к ней, из файла печатной платы - спецификацию. Программа задумана с концепцией "Проект", в проект входит список исходных файлов САПРа, см. снимок. Слева панель - дерево проекта, в проект можно добавлять связанные с ним файлы. Щёлкнув по имени файла в дереве, в MDI-области появляется виджет представляющий информацию (например, в виде таблицы) о файле (перечень/спецификация). В качестве файла проекта выбран файл БД SQLite. Для получения из файла схемы её перечня элементов и из файла платы - спецификации, файл анализируется некой специальной функцией (её код в данный момент интереса не представляет). Дак вот хотелось бы, чтобы кто-нибудь расписал на примере этой задачи, что и как декомпозировать. Какие классы должны получится и как они должны взаимодействовать друг с другом. Т.е. не просто соображения "как бы я сделал". А как это всё формально предлагается делать, разного рода теоретиками ООП. |
|
|
|
||
![]() |
|
Litkevich Yuriy |
19.2.2011, 22:27
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(BRE @ 19.2.2011, 18:58) Link Давай пока забудем про GUI, считаем что его нет. без него эта программа не нужна (в столь навёрнутом виде). По-этому нужно и ГПИ тоже. И взаимодействие ГПИ и прочего друг с дружкой.Цитата(Rocky @ 19.2.2011, 23:24) Link лучше один класс сделать - ProjectManager ... не согласен. Менеджер проектов нужен для управления проектами. Это не сам проект. Коль произносим: "Проект", стало быть и сущность такая должна быть.(К стати, в планах у меня было, чтобы проект мог содержать не только документы, но и подпроекты) Цитата(Rocky @ 19.2.2011, 23:24) Link А MainWindow должен иметь к нему доступ ... вот мне и интересно. Например, если для отображения дерева использовать MVC, то значит нужно будет ещё и модель написать, которая будет пользоватся данными из класса "Проект". А если я изменю потраха проекта, в будущем, я также должен буду и модель переписать. И получается, что такое разделение не на пользу а во вред. Либо встаивать модель в класс "Проект" (или сам проект делать моделью).
|
|
|
|
|
BRE |
19.2.2011, 22:41
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(Litkevich Yuriy @ 19.2.2011, 22:27) Link без него эта программа не нужна (в столь навёрнутом виде). По-этому нужно и ГПИ тоже. И взаимодействие ГПИ и прочего друг с дружкой. Это понятно, что без GUI она не нужна, но GUI должен взаимодействовать с ядром через определенное api. Цитата(Litkevich Yuriy @ 19.2.2011, 22:27) Link А если я изменю потраха проекта, в будущем, я также должен буду и модель переписать. И получается, что такое разделение не на пользу а во вред. Либо встаивать модель в класс "Проект" (или сам проект делать моделью). Так для этого и нужно продумать и четко определить, какие ручки для внешнего воздействия должны торчать из класса Проект. Если сам интерфейс будет стабилен, то ты сможешь как угодно менять потраха. |
|
|
|
Litkevich Yuriy ООП, структура программы 19.2.2011, 11:18
kwisp Цитата(Litkevich Yuriy @ 19.2.2011, 11:18... 19.2.2011, 11:56
BRE ЦитатаТ.е. не просто соображения "как бы я сд... 19.2.2011, 12:39
Litkevich Yuriy Цитата(BRE @ 19.2.2011, 14:39) Для одного... 19.2.2011, 14:43
BRE Давай пока забудем про GUI, считаем что его нет.
... 19.2.2011, 16:58
Rocky Цитата(BRE @ 19.2.2011, 16:58) предусмотр... 19.2.2011, 21:24
Rocky Цитата(Litkevich Yuriy @ 19.2.2011, 22:41... 19.2.2011, 23:13
Iron Bug если имеется база - то необходимо от неё и отталки... 21.2.2011, 14:52![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 9.12.2025, 10:51 |