Southmountain Ответов: 1

Что такое C# эквивалент класса cdocument/cview в visual C++


Недавно я взял на вооружение методы Visual C++ /MFC из-за потребностей бизнеса. Я пришел к такому вопросу: Что такое эквивалентное понятие CDocument или CView в C#?

Раньше я работал над настольным приложением на C#, но не очень задумывался об этой эквивалентной концепции CDocuement/CView.

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

Я попробовал демонстрацию приложений MDI и SDI в Visual C++ и погуглил этот вопрос в интернете, но не получил хорошего ответа на него...

1 Ответов

Рейтинг:
1

Sandeep Mewara

Насколько я знаю / понимаю,

Цитата из книги Заголовок 1[^] :
Отделение логики представления от логики приложения является основным мотивом, лежащим в основе архитектуры представления документов, используемой приложениями MFC. Например, предположим, что мы используем мастер приложений для создания приложения под названием Demo (принимающего все функции по умолчанию). Среди генерируемых классов-CDemoDoc и CDemoView, производные от CDocument и CView соответственно:

класс CDemoDoc : public CDocument { ... }; // в DemoDoc.h
класс CDemoView : public CView { ... }; // в DemoView.h

В C# есть такие варианты, как MVC и MVVM, как пара общих для достижения этой цели. В основном winforms используют MVC, а приложения WPF используют архитектуру MVVM для разделения модели данных, уровня представления и бизнес-логики.

Теперь возьмем MVC для сравнения например здесь:
- MVC расшифровывается как Model (обрабатывает данные) - View (отвечает за отображение данных пользователю) - Controller (отвечает за получение пользовательского ввода и преобразование в действия над моделями)

- MFC Document-View имеет только 2 компонента. Документ здесь эквивалентен модели. Представление отвечает за представление документов и подключение к вводам пользователей.

Так, высокий уровень, смотреть MFC равно представление-контроллер шаблона проектирования MVC.


Southmountain

Я работаю над приложением C# WinForm, есть ли у вас хорошие ссылки для обмена такими примерами?

Sandeep Mewara

Попробуй:
https://www.codeproject.com/Articles/383153/The-Model-View-Controller-MVC-Pattern-with-Csharp
https://www.google.com/search?client=firefox-b-d&м=с MVC+приложения WinForms