Visual Studio: Какой подход Вы используете для 'обрабатывания инфраструктуры по шаблону' для подобных проектов?

При разрабатывании проектов ASP.NET существует определенное количество шаблона или инфраструктура, которая должна быть сделана, который часто идентичен через проекты. Это в особенности имеет место с MVC и подходами ALT.NET. [Я думаю о вещах, таких как: МОК, ORM, структура Решения (проекты), управление сеансами, Управление пользователями, I18n и т.д.]

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

  • Имеет 'основное решение', который Вы копируете и переименовываете так или иначе? (Я использую это в известной степени в данный момент, но это довольно грязно. Был бы интересно, как люди делают это 'лучше'),
  • Главным образом полагайтесь на Общие проекты Библиотеки? (Я нахожу это подходящим для некоторых вещей, но слишком строгим для вещей, которые должны быть настроены),
  • Инструменты генерации кода, такие как T4? (Подобный подходу, используемому SharpArchitecture - не попробовали это самостоятельно),
  • Что-то еще?
6
задан Cœur 14 June 2018 в 10:42
поделиться

6 ответов

Visual Studio поддерживает настраиваемые шаблоны .

5
ответ дан 8 December 2019 в 17:20
поделиться

Я определенно (в основном!) Выбираю шаблоны T4 в сочетании с модифицированной версией SubSonic 3. Я как бы использую базу данных для моделирования своего домена, а затем использую шаблоны T4 для создания модели и связанных контроллеров и представлений. Это отнимает около 50-60% усилий и сохраняет последовательность.

Затем я работаю над переопределениями (частичными) классов вместе с фильтрами и методами расширения, чтобы «создать приложение». Теперь, когда я знаком с окружающей средой и тем, что я делаю, я могу получить базовую модель с хорошей сантехникой за очень короткое время. Что еще более важно, поскольку я создаю набор файлов частичного класса, я могу регенерировать все, что захочу, не теряя ни одного из моих «пользовательских» кодов.

У меня все равно работает :)

3
ответ дан 8 December 2019 в 17:20
поделиться

Я создаю новый проект с помощью мастера нового проекта, чтобы получить уникальные идентификаторы GUID проекта. . Затем я бы использовал «Добавить существующий элемент», чтобы скопировать элементы из похожих проектов, если это имело смысл.

Иногда я использую инструмент сравнения файлов для копирования ссылок из одного проекта в другой, в противном случае я просто добавляю ссылки вручную. Инструмент сравнения файлов также можно использовать для включения похожих исходных файлов, но базовые файлы все равно нужно скопировать, поэтому я предпочитаю «Добавить существующий элемент».

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

Я довольно агрессивно использую «разделяемые библиотеки» в целом, но не специально из-за этого сценария.

В общем, я нечасто использую сантехнику между проектами. Вероятно, гораздо чаще я взламываю один «прототип» проекта, а затем отказываюсь от него и перестраиваю проект с нуля, следуя описанному выше подходу, и привожу только «не-хакерский» код.

1
ответ дан 8 December 2019 в 17:20
поделиться

Я создаю шаблон приложения MVC2 по адресу http://erictopia.com . Он будет содержать все основные элементы, которые, по моему мнению, должны быть в проекте MVC. К ним относятся спецификации BDD, ORM (NHibernate и, возможно, Lightspeed), шаблоны T4, настраиваемые провайдеры, поддержка ELMAH, минификатор CSS / Javascript и т. Д.

1
ответ дан 8 December 2019 в 17:20
поделиться

Для безумно быстрой настройки MVC сайта, Я использую модифицированные шаблоны T4 (созданные с помощью T4 Editor) и с большой помощью блогов Олега Сыча для генерации страниц (для ваших типичных страниц добавления/редактирования/индексации) в сочетании с потрясающей реализацией автоматического создания-обновления-удаления под названием MVCCrud (если вы предпочитаете метод доступа к данным LINQ-to-LQL). delete под названием MVCCrud (если LINQ-to-SQL - ваш предпочтительный метод доступа к данным)

Используя модифицированные шаблоны T4 и MVCCrud, вы можете создать полностью функциональные сущности (Create/Edit/List/Delete) с обработкой ошибок и интуитивно понятными сообщениями об ошибках примерно за 4 минуты для каждой.

2
ответ дан 8 December 2019 в 17:20
поделиться

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

2
ответ дан 8 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: