我正在计划一些简单的应用程序,并希望遵循单一职责和封装原则。
主要参与者有:
API 类- 它公开了保存用户的能力:
class API{
....
public void saveUser(id, name, address){
//save the received user in the DB
}
....
}
DBConnector 类- 它公开了将用户数据保存到数据库中的能力。
User 类- 代表一个用户。
在旧的方式 saveUser 方法看起来像:
IDBConnector connector = DBConnectorFactory.getDBConnector();
User user = new User(id, name, address);
connector.saveUser(user);
根据新原则,正确的方法似乎是:
User user = new User(id, name, address, DBConnectorFactory.getDBConnector());
user.save();
它是否正确?
用户应该处理数据库保存吗?
如果没有,你能提供更好的方法吗?