車のクラスがあるとしましょう。
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クラスにロードします。私の古いOOPの本能は、これをCarServiceクラスのLoadFromFile()のようなメソッドとして配置することでした。ただし、SRPとテスト容易性について学習しているので、よくわかりません。
単一責任の原則に従って、これを設計する正しい方法は何ですか?CarLoaderクラスが必要ですか?
アップデート
解決策はさまざまな言語で同じである必要があると思いますが、C++を使用します。C#、Java、またはpythonを使用している場合、私の質問は同じです。