code4Better Ответов: 2

Я хотел бы знать, какой лучший шаблон дизайна я могу использовать здесь и почему?


Мне нужно разработать приложение winform для управления личными данными.

Он имеет 10 winform формы, начиная от формы входа для постоянного диалога-адрес, временную диалоговое адрес, реквизиты транспортного средства dialog1, детали автомобиля dialog2, диалог путевые расходы, накладные расходы и т. д. диалог.

Поэтому из каждого диалогового окна я даю возможность перейти к навигации "назад" и "далее".

Каждый диалог содержит от 10 до 15 полей.

Я хотел бы знать, какой лучший шаблон дизайна я могу использовать здесь и почему?

Что я уже пробовал:

То, что я пробовал, - это всякий раз, когда пользователь перемещается, текущая форма, которую я сохраняю как большой двоичный объект, и в функции инициализации каждого диалогового окна я заполняю поля, читая соответствующий большой двоичный объект.

2 Ответов

Рейтинг:
14

CPallini

Я думаю, что ваш подход напоминает Сувенир[^] шаблон дизайна и, на мой взгляд, является правильным.


code4Better

Большое спасибо Паллани.

CPallini

Добро пожаловать.

Рейтинг:
0

johannesnestler

Ваша идея звучит так, как будто вы новичок - почему бы сначала не дать некоторое время на понимание различных паттернов - лучше всего следовать тренду, потому что вы найдете больше примеров - так что в вашем случае я бы предположил, что привязка и обновление данных-это важная вещь. Поэтому я бы использовал шаблон MVVM Шаблон MVVM[^] а WPF как клиентская технология, может быть, Универсальное приложение? Вы найдете тонны образцов для этих техников: GitHub-Microsoft/Windows-universal-samples: примеры API для универсальной платформы Windows.[^]
или
https://github.com/Microsoft/WPF-Samples


code4Better

Йохан, Спасибо за ответ. Мое приложение winform а не WPF

johannesnestler

шаблон может быть таким же для winforms - просто немного больше работы для реализации... Мне нравится использовать его, потому что undo- / redo можно централизовать довольно легко. но посмотрите, что рекомендует CPallini...

code4Better

Конечно, Йохан, Спасибо