О нас.Философия разработки программного обеспечения NET

#.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, пожалуйста?