While reading about abstraction, I came across the following statement
"Abstraction captures only those details about an object that are relevant to the current perspective"
For eg. From the driver's perspective, Car class would be
public class Car
{
void start();
void applybrakes();
void changegear();
void stop();
}
From the mechanic's perspective, Car class would be
public class Car
{
void changeOil();
void adjustBrakes();
}
My question, While designing a system, do we design for one user perspective(either driver or mechanic) or can we design for multiple user perspective and further abstract out based on user type?
Hope my question is clear.
Thanks