Рекомендации по шаблону MVC для приложения WinForms - PullRequest
2 голосов
/ 09 марта 2011

Я пишу версию своего приложения для Mac для Windows (C # Winforms) и хотел бы дать несколько советов о том, какой шаблон проектирования использовать.

В моем приложении Mac используется шаблон MVC с Core Data для хранения.Это упрощенная схема моделей и взаимосвязей:

model diagram

Настольное приложение собирает журналы в фоновом потоке и периодически загружает их в мое веб-приложение.База данных используется для хранения как информации учетной записи пользователя, так и журналов, и у приложения есть 3 представления для отображения (и сбора) данных пользователя.

Я провел некоторое чтение, и кажется, что MVP - эторекомендуемый шаблон дизайна для приложений WinForms, но я не уверен, как действовать дальше.Я думаю, что мое приложение достаточно просто для написания без использования внешней среды, такой как MVC #, но поскольку я никогда не создавал приложение WinForms, прежде чем я только размышляю.

Ответы [ 4 ]

2 голосов
/ 09 марта 2011

Шаблоны - это всего лишь руководство к решению проблемы, которую они пытаются решить.Где MVC будет хорошо работать для веб-приложения, которое опирается на страницы, перенаправления и т. Д., Приложение winform может получить выгоду от использования MVP.

Сказав, что эти два шаблона являются братьями и сестрами более широкого шаблона пользовательского интерфейса, и даже в соответствии с Мартином Фаулером шаблон MVP может быть дополнительно разделен.Посмотрите на его статью , чтобы лучше понять подходящую модель.Он сломал MVP для контролирующего контроллера и пассивного просмотра.Даже новый шаблон MVFM MPF фактически основан на шаблоне PresentationModel.

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

1 голос
/ 09 марта 2011

По моему опыту, для приложения winforms (которое поддерживает хорошее связывание данных) вы можете использовать MVC с контролирующим шаблоном контроллера.Прочитайте этот вопрос Что такое MVP и MVC и в чем разница? & http://codebetter.com/jeremymiller/2007/05/25/build-you-own-cab-part-3-the-supervising-controller-pattern/

1 голос
/ 09 марта 2011

Вам стоит взглянуть на Джереми Миллера. Постройте свою собственную серию кабин: http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/

0 голосов
/ 12 марта 2011

Начните работать над этим, сделайте несколько макетов экрана, сделайте немного дизайна, напишите немного кода.

Вы можете начать с небольшого прототипа, попробовать другой дизайн.Не заходите слишком далеко на этапе исследования, чтобы не стесняться выбрасывать его и начинать все сначала, если вам нужно.

Старайтесь как можно больше выбирать, не красьте себяв угол, и отложите это решение до тех пор, пока вам действительно не придётся выбирать один путь перед другим.

К тому времени у вас, вероятно, будет гораздо лучшее представление о том, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...