Есть ли какая-то польза от использования версии MVC Cocoa с .NET? - PullRequest
2 голосов
/ 18 сентября 2008

Вот диаграмма, изображающая разницу между традиционным MVC и какао MVC:

Шаблоны проектирования Какао: Шаблон проектирования Модель-Контроллер

Есть ли какие-либо преимущества использования этого метода "Какао" в .NET с использованием Visual Studio?

Ответы [ 4 ]

3 голосов
/ 18 сентября 2008

Нет причины не делать это таким образом, если для вас это имеет больше смысла. Имейте в виду, что многие вещи в структуре Какао связаны с решениями по проектированию более высокого уровня, например, с предпочтением композиции и делегирования над подклассами.

Если хотите, вы можете разработать программное обеспечение на C #, которое будет похоже на программное обеспечение Objective-C, но людям, не имеющим опыта работы с Cocoa, придется объяснить это им, потому что слабосвязанный дизайн будет казаться им «странным».

Да, верно - преимущества этого дизайна включают в себя возможность многократного использования представления UI и классов модели (поскольку они не будут знать друг о друге), немного более простой код в классах представления и многое другое «логика приложения» в одном месте (контроллер классов).

1 голос
/ 23 сентября 2008

Разработчик в Журнале разработчиков .Net писал о своем переходе и сравнивал .Net с Какао, включая использование стиля Cocoa MVC в .Net

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

0 голосов
/ 19 сентября 2008

Основным преимуществом использования «посреднических контроллеров» (подклассов NSController) компании Cocoa является то, что они реализуют большую часть стандартных функций, необходимых для посредничества между моделью и ее представлением. Такие вещи, как отслеживание части модели, указанной при выборе вида, и поддержка транзакций (так что вы можете, например, зафиксировать или отменить набор модификаций вида или модели), включены «бесплатно». Использование подклассов NSController в качестве «связующего» кода между моделью и представлением освобождает вас как разработчика, чтобы сосредоточить свои усилия на функциональности «Координирующий контроллер» - прикладной логике, которая находится на уровне контроллера.

Так стоит ли использовать этот шаблон в .Net? Заставить координирующий контроллер работать должным образом нетривиально (например, Apple потребовалось несколько выпусков, чтобы все было в порядке). Такие вещи, как контроллеры деревьев, особенно сложны. Если вы используете этот шаблон только в одном или нескольких проектах, это может не стоить усилий. С другой стороны, я уверен, что сообщество оценило бы общую структуру контроллеров, в том числе иерархию NSController от Cocoa.

0 голосов
/ 18 сентября 2008

Разве «Какао-версия MVC» не является шаблоном, используемым в ASP.NET MVC? До сих пор все примеры указывали на ч / б вид и модель связи через контроллер без прямого взаимодействия между V и M. Я неправильно понимаю это?

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