Ответ 1
Как и во многих системах, которые выполняют общую задачу для вас, вы получаете:
- Протестировано гораздо больше глазных яблок: чем вы сами. Это (надеюсь) включает в себя модульные тесты, которые вы можете или не можете делать, создавая свою собственную инфраструктуру.
- Более читаемый для других разработчиков. Никто не имеет опыта работы с вашей собственной инфраструктурой MVVM. Но если другой разработчик присоединяется к вашему проекту или присоединяется к вашей команде или присоединяется к вашей компании, они могут перейти прямо в код Prism.
- Лучшая документация. В том же ключе любое новое присоединение, вероятно, должно изучить веревки, вручную собрав коллективные знания из вашего мозга и любых других пользователей в команде, и посмотрев на исходный код. У сторонних структур есть своя документация и больше сообщений в блогах в Интернете.
- Лучшее сообщество. Вы можете задавать вопросы о StackOverflow о том, "как мне делать X с Prism?" Вы не можете спросить об этом с помощью своей пользовательской структуры.
- Скорее всего, более способный: если вам нужно больше пользователей, чем только вы/ваша команда, добавится больше функций. Если вам нужно сделать что-то связанное с MVVM, что вы никогда не делали раньше, вероятность того, что он не встроен в вашу собственную инфраструктуру MVVM. Но это, вероятно, в Призме.
- Лучшая структура. Предположим, вы хотели сделать что-то связанное с MVVM, но это было не в Призме. Скорее всего, для этого есть веская причина! Если что-то не в (разумно зрелой) структуре, предназначенной для работы в данном домене, то знак того, что вы пытаетесь сделать, является неестественным или неудобным способом решения проблемы. Работая с вашей собственной инфраструктурой, слишком легко сказать "о, я добавлю эту функцию", а через 6 месяцев поймут, что вы совершили огромную ошибку, потому что эта новая функция делает ваш код очень трудным для выполнения или заканчивается тем, что является вектором для лотов ошибок или чего-то еще.
- Листинг CV:. У меня были бы смешанные чувства к найму того, кто "реализовал и использовал пользовательскую среду MVVM". Хотя это может означать, что они умны, это может также указывать на страшный "нестроенный здесь синдром". С другой стороны, размещение "Microsoft Prism MVVM Framework" среди огромного перечня технологий может быть приятным, но это не вау-эй. Лучшее из обоих миров было бы более длинным маркером, в соответствии с "Глубоким пониманием шаблона MVVM, достигнутым путем первого внедрения платформы MVVM для обучающих целей, прежде чем переключиться на MVVM Prism". Да, разница между этими тремя не собирается делать или разорвать ваше резюме, а синдром незастроенного здесь - это то, что, надеюсь, возникнет в интервью, но это просто стоит иметь в виду, особенно если вы применяете для места, которое получает достаточно резюме, они могут позволить себе выбросить все, что слегка их нервирует.