Что если хранилище данных изменится позже?Что если человек больше не будет храниться в файле XML, а скорее в базе данных?Теперь вам нужно снова изменить класс Person.Я бы сказал, что есть какой-то интерфейс под названием «IPeopleRetriever» или что-то в этом роде:
public interface IPeopleRetriever
{
IEnumerable<Person> GetPeople();
}
Затем создайте класс с именем XMLPeopleRetriever:
public class XMLPeopleRetriever : IPeopleRetriever
{
public IEnumerable<Person> GetPeople() { ... }
}
Таким образом, потребителю вашего IPeopleRetriever понадобитсяничего не знать о том, откуда пришел Человек.