Given the classes Company, Employee, and Car what is the preferred practice for methods to retrieve Cars associated with Company or Employee?
Employee.GetCars(params...)
Company.GetCars(params...)
Or:
Cars.GetByEmployee(params...)
Cars.GetByCompany(params...)
The first approach is the one I have generally used and always seemed the most intuitive to me. But after seeing a large code-base that used the second approach I have to admit that it's growing on me. The two things I really like about the second approach are:
- It groups all
Carrelated code together into one file, making the code more modular and easier to maintain. - There is an intuitive logic to having any method with a return value of
Car(or more likeList<Car>in this case) grouped into theCarclass.
Is there a best practice that covers this?