Как я могу избежать необходимости писать код шаблона?
Хорошо, я следил за учебником NerdDinner онлайн, и я завершил его с T.
Теперь я реализовал собственный проект, используя почти ту же архитектуру.
Я заметил, что мой процесс:
- Создать базу данных.
- Создать DBML.
- Создать | TableName | Класс Repository.cs с методами доступа к данным.
- Создание частичного | TableName | класс для проверки достоверности.
- Промыть и повторить для всех таблиц.
К тому времени, когда я закончил, я исчерпал себя, и я ничего не сделал, кроме кода перетаскивания и копирования и изменения имен переменных.
Что мне здесь не хватает. Где я могу улучшить эту дымку, которая у меня есть?
Изменить: Без создания моего собственного шаблона T4, есть ли инструмент, который поможет мне?
Ответы
Ответ 1
Смотрите Шаблоны Visual Studio.
Я не использовал их, но я предполагаю, что если вы потратите время на их настройку, вы сможете заставить Visual Studio генерировать много того, что вы уже делаете мгновенно, используя язык/интерпретатор языка T4, который встроен в Visual Studio.
Ответ 2
Я не использовал его много, но, возможно, вы могли бы создать шаблон кода для обработки этого. http://www.codesmithtools.com/
Я видел, что он хорошо работал с Nettiers и в некоторых других сценариях.
Ответ 3
Взгляните на это на идеи. Он использует общий репозиторий и единицу рабочего шаблона.
http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/
Также здесь.
Преимущество создания общего репозитория против конкретного репозитория для каждого объекта?
Я реализовал что-то, основанное на этих идеях. Вы также можете посмотреть на использование уровня сервиса больше интерфейсов и т.д., Чем показывает пример обеденного ужина.
Насколько это уместно, это не то, что ИМО действительно подходит для использования в корпоративном приложении, поскольку он все еще довольно тесно связан.
Надеюсь, что это поможет.
Ответ 4
Я использую свой собственный инструмент для этого: http://github.com/Necroskillz/NecroNetToolkit
В основном он обходит все шаги, упомянутые вами (кроме проверки, потому что у меня есть проверка на моделях моего представления).
Ответ 5
В то время как его непосредственный MVC не сфокусировался, я наслаждался использованием NetTiers http://nettiers.com для такого рода фондов. Мы начинаем с таблиц Db и индексируем, а затем генерируем хранимые процедуры и связанные с ними данные и код уровня сервиса. После этого мы добавляем собственные собственные хранимые процедуры, создавая богатую (и легко понимаемую) основу. Благодаря этому механизму будущие изменения легко переносятся.
Мы также заставляем генерировать код в наших процедурах сборки Nant, предоставляя очень быстрый способ обновления всего мирского "сантехнического" кода, позволяя нам сосредоточиться на интересном материале.
Мы только начали работать с MVC и обнаружили, что сервисный уровень netTiers работает с ним хорошо - время покажет, когда наш опыт MVC растет. Надеюсь, это поможет!
Ответ 6
Создайте фреймворк!