Я узнаю о MVP, опыте, основанном на тестах, и заводском шаблоне. Я хочу написать несколько простых классов для хранения данных и репозитория. Данные человека будут храниться в sql и для тестирования в xml. Я читал о StructureMap, но не хочу использовать его, вместо этого хочу использовать простую фабричную реализацию, которая в конечном итоге также поможет мне подключиться к блочным тестовым сценариям. Вот мои занятия:Понимание подхода, управляемого тестированием для шаблона MVP?
class Person
{
int id;
string name;
}
interface IPersonRepository
{
Person GetPerson(int id)
{
}
}
class PersonRepositorySql : IPersonRepository
{
Person GetPerson(int id)
{
//Fetch from sql
}
}
class PersonRepositoryXML : IPersonRepository
{
Person GetPerson(int id)
{
//Fetch from XML
}
}
static class PersonRepositoryFactory
{
static PersonRepositorySql Create()
{
return new PersonRepositorySql();
}
static PersonRepositoryXML CreateTest()
{
return new PersonRepositoryXML();
}
}
class Presenter
{
Presenter(View _view)
{
}
void DoSomething()
{
IPersonRepository fact = PersonRepositoryFactory.Create();
//fact.GetPerson(2);
}
}
class PresenterTest
{
void Test1()
{
IPersonRepository fact1 = PersonRepositoryFactory.CreateTest();
//fact1.GetPerson(2);
}
}
Пожалуйста, скажите, подходит ли тот подход, который я принял, и другие рекомендации. Кроме того, поскольку я не передавал объекты в конструкторе, это не означает пример инъекции зависимостей?
Ничто не основано на аббревиатурах, которые вводятся .., который является основным компонентом тестирования и TDD. Я думаю, вам следует перечитать ваш справочный материал, в частности, части о плотной связи и конкретных реализациях .. и инъекции зависимостей. –
Пожалуйста, проверьте сейчас ... – user2645830