Я использую сгенерированные классы subsonic2 и хочу добавить слой абстракции для тестирования, поэтому я создал базовый интерфейс как таковой ...
public interface IController<TCollection>
where TCollection : class
{
TCollection FetchAll();
TCollection FetchByID(object id);
TCollection FetchByQuery(Query query);
bool Delete(object id);
//void Insert(TEntity entity);
//void Update(TEntity entity);
}
Что здорово, я создал «расширенную» папку классов, поместил туда класс и расширил этот класс ...
public partial class AddressController : IController<AddressCollection> { }
НЕТ проблем, ура. Затем меня поразило - есть 239 таких классов, и я не собираюсь делать их вручную, должен быть способ для программного обеспечения сделать это, и я ленив, поэтому я начал смотреть на фабричный шаблон, который будет возвращать IController . Как бы я пошел по этому поводу? Наверное, лучше задать вопрос: как я могу подумать о том, чтобы выполнять мои злые торги, взяв урок и попросив его использовать определенный интерфейс?