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