Библиотека или собственный фреймворк? - PullRequest
6 голосов
/ 08 апреля 2010

Когда вы должны использовать библиотеку или фреймворк против вашей собственной реализации. Например. MVVM, я должен использовать Cinch / MVVM Framework или свернуть свой собственный код?

Ответы [ 3 ]

7 голосов
/ 08 апреля 2010

С MVVM и WPF лично я бы порекомендовал начать без фреймворка.

Как только вы увидите «залипающие» точки, различные рамки начнут приобретать больше смысла. Помните, что различные платформы для MVVM предназначены для того, чтобы быть «помощниками» для облегчения некоторых болевых точек при работе с MVVM (таких как обработка диалогов / сервисов, обмен сообщениями и т. Д.).

При этом многие фреймворки (например, Cinch) действительно направляют вас на работу определенным образом - который может или не может быть идеальным, учитывая ваши обстоятельства.

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

При этом, как только вы понимаете различные фреймворки, они очень полезны, если вы выбираете ту, которая соответствует вашим целям разработки. Например, MVVM Light предоставляет фантастическую, хорошо продуманную и протестированную среду обмена сообщениями, которая значительно упрощает многие сложные задачи в MVVM, поэтому это отличный способ получить некоторые функциональные возможности, которые достаточно надежны.

3 голосов
/ 08 апреля 2010

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

https://stackoverflow.com/questions/1280462/what-mvvm-framework-are-you-using

2 голосов
/ 08 апреля 2010

Если вам разрешено использовать Framework для проекта, а размер сборки на самом деле не так важен, я почти всегда рекомендую использовать Framework (академические проекты не включены).

Вы получите что-то, что (как правило) было тщательно протестировано и задокументировано, а не экспериментирует и устраняет неполадки в вашей собственной версии, выпущенной вручную.

...