#.net
#.net
Вопрос:
Обычно при работе с SDK и фреймворками для мобильных платформ или фреймворками веб-приложений с открытым исходным кодом (например, PHP -> CakePHP, Laravel и т. Д.) делегирование обязанностей осуществляется путем разделения классов на модель, представление и контроллер (архитектура MVC). Шаблон в основном состоит в том, чтобы заполнить ваш Views
(скажем TextView
, (Android) / UITextView
(iOS) / <div>
(HTML из PHP) данными вашего класса модели.
Это выглядит примерно так: textView.setText(myModel.getField())
Я новичок в .NET, на самом деле я изучаю его в своем университете на курсе разработки программного обеспечения, и первые 2 вещи, которые я заметил, это то, что представления называются элементами управления. Второе, что я заметил, это то, что в приведенных примерах для управления данными используются сами элементы управления. Может быть, я неправильно объясняю, поэтому я приведу вам пример:
В областях я бы отделил представление от модели, а затем получил ссылку на указанную модель через контроллер (скажем, с помощью Store#getSaleById(int saleID) : Sale
double calculateTotal(List<Sale> mySale) {}
Они передают непосредственно элемент управления, как если бы он служил в качестве представления И модели, и операция выполняется путем прямого получения данных из элемента управления.
double calculateTotal(ListBox listBox) {}
Итак, я хочу знать, какова философия разработки программного обеспечения .NET, использует ли она элементы управления непосредственно для операций, подобных примерам, которые я видел, или эти примеры неверны, и элементы управления — это просто представления для представления данных пользователю.
Ответ №1:
Практика, которую вы описываете, является плохой практикой многих разработчиков программного обеспечения и не запрещена большинством фреймворков. Вы можете злоупотреблять почти всеми фреймворками из-за плохого кодирования.
В последние годы разработчики все больше и больше понимали, что такой способ работы — это неправильный путь. Поэтому все новые фреймворки имеют способ работы, в котором центральным является шаблон, подобный MVC.
Для разработки Windows Forms это все для вас, вы можете написать свое программное обеспечение в стиле MVC, но в фреймворке не так много инструментов, которые помогут вам в этом.
WPF, новая платформа пользовательского интерфейса от Microsoft, лучше поддерживает MVC благодаря слегка адаптированной версии шаблона, называемой MVVM.
Комментарии:
1. @ChristopherFrancisco: нужно больше мыслей?
Ответ №2:
Существует две основные архитектуры: Windows forms и mvc. Windows Формирует с использованием компонентов и элементов управления. Mvc этого не делает. Оба имеют там применение.
похоже, mvc может быть тем, что вы ищете.
введение в Windows forms смотрите здесь: http://www.w3schools.com/aspnet/aspnet_intro.asp
для mvc посмотрите здесь: http://www.w3schools.com/aspnet/mvc_intro.asp
шаблоны проектирования смотрите здесь: http://www.dofactory.com/Patterns/Patterns.aspx
Комментарии:
1. Да, да, да, это именно то, что мне нужно объяснение, не могли бы вы описать еще несколько форм Windows и MVC, пожалуйста?