Скажите, у меня есть класс автомобиля:
class Car
{
string GetMake()
string GetModel()
int GetYear()
}
И у меня есть собственный класс CarService, который содержит список автомобилей:
class CarService
{
void AddCar(Car car)
void RemoveCar(Car car)
List<Car> GetCars()
... other methods removed for clarity...
}
Теперь я хочу загрузить список автомобилей из файла в класс CarService. Мой старый инстинкт ООП заключался в том, чтобы поместить это как метод, подобный LoadFromFile (), в класс CarService. Однако, поскольку я сейчас изучаю SRP и тестируемость, я не уверен в этом.
В соответствии с принципом единой ответственности, как правильно спроектировать это? Должен ли я иметь класс CarLoader?
UPDATE
Я думаю, что решение должно быть одинаковым в самых разных языках, но я буду использовать C ++. Мой вопрос был бы идентичным, если бы я использовал C #, Java или python.