Опыт фабрики программного обеспечения Smart Client
Кто-нибудь имел опыт создания приложения "реального мира" с помощью фабрики программного обеспечения Smart Client из группы Microsofts Patterns and Practices? Я ищу совет о том, как трудно было справиться, сократило ли это ваше время на рынок и любые другие общие подводные камни.
5 ответов
Мы использовали SCSF для реального приложения с 10 разработчиками. Это была крутая кривая обучения для настройки и разработки модели использования, но как только она была настроена, познакомить новых разработчиков с проектом было ОЧЕНЬ легко. Использование CAB и SCSF было очень полезно для нашего проекта, особенно для того, чтобы каждый разработчик работал быстрее и продуктивнее.
Недостатком SCSF является то, что он предоставляет ОДНУ функциональность, которая может не использоваться (вероятно, мы использовали только 60% функциональности).
Я также использую SCSF для нового проекта и рассматриваю возможность рефакторинга в PRISM. ПРИЗМА позволяет отбирать функциональность, которая не используется. Если вы используете WPF, я предлагаю изучить PRISM.
У меня нет личного опыта, поэтому отдайте предпочтение совету кого-то, кто справляется с моим. Я знаю двух сотрудников, которые использовали этот завод, и оба имели одинаковую отдачу:
- Больно настраивать и учиться
- Это стоило того в конце
Так что, если у вас есть свободное время, я бы пошел на это.
Мы разработали наше приложение SCSF (для набора) в 2006 году с 8 разработчиками (4 UI + 4 WCF Service), которое в настоящее время используется 350 пользователями на одном этаже.
В начале было слишком много, чтобы учиться, так как было меньше учебников, я благодарен Матиасу Волоски и Эудженио Пэйсу, которые внесли большой вклад в паттерны и практики / codeplex. Ключевые области, в которых мы забили:
1) Четкое разделение пользовательского интерфейса и бизнеса 2) Сосредоточенная роль для разработчиков 3) Модуль на основе структуры приложения по требованию 4) Легко разворачивается с помощью clickonce 5) Готовые шаблоны и помощники, которые делают жизнь разработчиков проще и более структурированной.
Со временем он завоевал большое уважение среди пользователей, поскольку поддерживает:
1) RBAC - управление доступом на основе ролей. 2) Быстрое изменение функций, поскольку мы аккуратно разделили инфраструктурные сервисы / бизнес-сервисы / UI Helper, а все приложение основано на модуле (лучшая часть CAB).
3) Теперь мы думаем перейти к WPF, чтобы добавить еще один элемент джаза.
Мы использовали SCSF для реального составного приложения с 6 разработчиками; полный размер команды составлял 14 человек, включая BA, PM, тестеров и т. д. Как сказал Торри, это была крутая кривая обучения для 3 разработчиков, которые не имели опыта работы с ОО или шаблонами проектирования. Я и двое других были оо-пуристами в течение многих лет; таким образом, мы приняли к CAB, как утки к воде, просто распознавая образцы. На полпути проекта мы собрали недельный учебный курс по принципам ОО и шаблонам проектирования. Как только остальные 3 прошли этот курс, производительность сразу начала расти.
Мой совет, убедитесь, что ваша команда обладает глубокими знаниями в области OO и Design Patterns. Кривая спадает, когда они могут видеть шаблоны, которые они распознают.
Мы используем Фабрику программного обеспечения веб-сервисов, и нам действительно это нравится, потому что это облегчает разработчикам следовать стандартам и соответствующим шаблонам. Кривая обучения для нас была неплохой - максимум несколько часов на одного разработчика.
Кроме этого, нет никаких других плюсов и минусов, достойных упоминания.