Прежде чем я конкретно отвечу на Ваш вопрос, я хотел бы подавить несколько мыслей. Действительно ли CSLA является правильным для Вашего проекта? Это зависит. Я лично рассмотрел бы CSLA для основанных на рабочем столе приложений, который не оценивает поблочное тестирование как высокий приоритет. CSLA является большим, если Вы хотите легко масштабироваться к n-tier приложению. CSLA имеет тенденцию получать некоторого агента по печати, потому что он не позволяет чистое поблочное тестирование. Это верно, однако как что-либо в технологии, я полагаю, что существует Никакой Истинный Путь . Поблочное тестирование не может быть чем-то, что Вы предпринимаете для определенного проекта. Какие работы для одной команды и одного проекта не могут работать на другую команду или другой проект.
существует также много неправильных представлений в отношении CSLA. Это не ORM., это не конкурент NHibernate (на самом деле использующий Бизнес-объекты CLSA & NHibernate как доступ к данным соответствуют действительно хорошо вместе). Это формализует понятие Мобильный Объект .
1. Сколько людей использует CSLA?
На основе Форумы CSLA , который я сказал бы, существует множество базирующихся проектов CSLA там. Честно, хотя, я понятия не имею, сколько людей на самом деле использует его. Я использовал его в прошлом на двух проектах.
2. Каковы за и против?
, В то время как трудно подвести итог в коротком списке, вот некоторые про / довод "против", которые приходят на ум.
Профессионалы:
Недостатки:
3. После чтения это делает CSLA действительно не, согласуются с TDD?
я не нашел эффективный способ сделать TDD с CSLA. Однако я уверен, что существуют многие более умные люди там, чем я, который, возможно, попробовал это большим успехом.
4. Каковы мои альтернативы?
Domain-Driven-Design получает большое нажатие в данный момент (и законно так - это фантастически для некоторых приложений). Существует также много интересных разработок шаблонов из введения LINQ (и LINQ к SQL, Платформе Объекта, и т.д.). Книга PoEAA Fowlers, детализирует много шаблонов, которые могут подойти для Вашего приложения. Обратите внимание, что некоторые шаблоны конкурируют (т.е. Активная Запись и Репозиторий), и таким образом предназначены, чтобы использоваться для определенных сценариев. В то время как CSLA точно не соответствует ни одному из шаблонов, описанных в той книге, он наиболее тесно напоминает Активную Запись (хотя я чувствую, что это близоруко для требования точного совпадения этот шаблон).
5. Если Вы прекратили использовать его или отклонили почему?
я не полностью рекомендовал CSLA для своего последнего проекта, потому что я полагаю, что объем приложения является слишком большим для преимуществ, которые предоставляет CSLA.
я был бы не использование CSLA на веб-проекте. Я чувствую, что существуют другие технологии, лучше подходящие для создавания приложений в той среде.
, Таким образом, в то время как CSLA совсем не серебряная пуля , это подходит для некоторых сценариев.
Hope это помогает!
I've used Trac + Bitten for continuous integration, it was fairly complex setup and required substantial amount of time to RTFM, set up and then maintain everything but I could get nice visual reports with failed tests and error messages and graphs for failed tests, pylint problems and code coverage over time.
Bitten is a continuous integration plugin for Trac. It has the master-slave architecture. Bitten master is integrated with and runs together with Trac. Bitten slave can be run on any system that communicate with master. It would regularly poll master for build tasks. If there is a pending task (somebody has commited something recently), master will send "build recipe" similar to ant's build.xml to slave, slave would follow the recipe and send back results. Recipe can contain instructions like "check out code from that repository", "execute this shell script", "run nosetests in this directory". The build reports and statistics then show up in Trac.
Вы можете использовать плагин rednose, чтобы раскрасить вашу консоль. С ним визуальная обратная связь намного лучше.