Поместите метатег, который объявляет набор символов как первый элемент в голове. Браузер только ищет до сих пор тег. Если у Вас есть слишком много материала, прежде чем meta элемент, набор символов не мог бы быть применен.
при использовании ОСНОВНОГО элемента поместите его перед любыми элементами та загрузка URIs (при желании).
Я создаю репозиторий для каждого объекта данных.
Например, простая база данных библиотеки может содержать следующие репозитории:
В проекте, управляемом доменом, существует правило, согласно которому репозитории создаются на совокупный корень. Вы можете прочитать об этом подробнее здесь .
Чем больше я читаю, тем больше думаю, что NerdDinner слишком часто рассматривается как собрание хороших практик, хотя это абсолютно не так (см. здесь для обсуждения, в частности, репозитория NerdDinner). Вот почему люди часто обвиняют другие примеры MS, такие как Oxite (и здесь :
Разработчики будут стекаться к нему, хвалите это, и слепо принять это как Евангелие потому что он исходит от Microsoft (это уже хорошо в пути). К сожалению, любой разработчик, который принимает его дух, будет остаться с неудобным, непроверяемый и нечитаемый беспорядок
).
Я использую общий репозиторий, которого достаточно для многих сущностей.
Для более сложного я просто расширяю это с тем, что нужно. На самом деле лучшее из обоих миров.
Я обычно использую репозиторий для каждой связанной группы объектов. т.е. репозиторий заказов может иметь:
Order и OrderDetail.
и будет иметь еще один, скажем, для Customer, CustomerProfile и т. д.
Это поддерживает аккуратность классов репозитория.
Davy
If вы используете общий репозиторий, который принимает типы, тогда я не вижу причин использовать более одного.
мы используем такой интерфейс:
public interface IRepository
{
void Save<ENTITY>(ENTITY entity)
where ENTITY : Entity;
void Delete<ENTITY>(ENTITY entity)
where ENTITY : Entity;
ENTITY Load<ENTITY>(int id)
where ENTITY : Entity;
IQueryable<ENTITY> Query<ENTITY>()
where ENTITY : Entity;
IList<ENTITY> GetAll<ENTITY>()
where ENTITY : Entity;
IQueryable<ENTITY> Query<ENTITY>(IDomainQuery<ENTITY> whereQuery)
where ENTITY : Entity;
ENTITY Get<ENTITY>(int id) where ENTITY : Entity;
IList<ENTITY> GetObjectsForIds<ENTITY>(string ids) where ENTITY : Entity;
void Flush();
}
затем используем в коде, подобном этому:
var returnedObjects = repository.GetAll<ObjectClass>();
var singleObject = repository.Get<ObjectClass>(id);
Я думаю, что, возможно, вас смущает многословие о том, что такое репозиторий. Для меня репозиторий - это хранилище данных (например, база данных MS SQL), в котором хранятся ваши данные.
Следуя шаблону репозитория , я рекомендую настроить один репозиторий для каждого хранилища данных. В большинстве своих проектов я использую MS SQL, поэтому я создаю репозиторий для этой базы данных (мне нравится использовать Subsonic для моего DAL / ORM, и он также реализует шаблон репозитория и шаблон ActiveRecord), затем я создаю фабрики для каждого Таблица. Это позволяет мне завершить классы Subsonic ActiveREcord и дает мне абстракцию.
Надеюсь, это поможет, возможно ...