假设我有一个名为CommandLineOperation
的班级。该类访问api资源。因此,我定义了一个APIAccessor
类型的实例成员。
class CommandLineOperation {
APIAccessor apiAccessor;
void create() {
apiAccessor = new APIAccessor(email,password);
//do work for creation
}
void update() {
apiAccessor = new APIAccessor(email,password);
//do work for update
}
}
class APIAccessor {
String email;
String password;
APIAccessor(email,password) {
this.email = email;
this.password = password;
}
}
CommandLine中的操作很少,是在每个操作下实例化APIAccessor
或使用CommandLineOperation
类的构造函数创建一次的更好方法。例如
CommandLineOperation(String email,String password) {
this.apiAccessor = new APIAccessor(email,password);
}
请让我知道或建议良好的编码设计模式。或者建议我任何参考书,以便我可以根据分析提高我的编码标准。提前谢谢。
答案 0 :(得分:3)
答案是:取决于 - 关于您的背景/要求。
创建CommandLineOperation实例时创建ApiAccessor的好处:
缺点:
但是当你想到它时:无论如何,这些缺点在现实世界中都不是很大的问题。
关于所需凭据来自解析文件的注释:归结为依赖注入!
含义:CommandLineOperation类应该不包含构造ApiAccessor实例的代码。该对象应该被注入(通过依赖注入框架) - 或者通过构造函数提供,例如。