我正在尝试在我的android应用程序中使用委托设计模式,但不确定我做得是否正确。这是我的LoginActivity.java
代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
public void login(View v) {
AutoCompleteTextView emailInput = (AutoCompleteTextView) findViewById(R.id.email);
EditText passwordInput = (EditText) findViewById(R.id.password);
String email = emailInput.getText().toString();
String password = passwordInput.getText().toString();
new ConnectDatabase().authenticate(email, password);
}
这是我的ConnectDatabase.java
委托人
public class ConnectDatabase {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public boolean authenticate(String email, String password) {
Log.d("Message", email+" &"+password);
return false;
}
}
这是使用设计模式的正确方式吗?还是我必须制作一个接口,然后让LoginActivity.java
实现它?
您的代码正在委派,但IMO没有使用""委派模式。
CCD_ 4可以简单地写为CCD_。你根本不需要一个物体。
来自维基百科
对象不是执行其指定的任务之一,而是将该任务委派给关联的辅助对象。有一种责任倒置,其中一个被称为委托的辅助对象被赋予为委托者执行任务的责任。
我认为,当上面声明您委托给关联对象时,您需要更确切地理解它。首先,因为对象需要有成为对象的理由,它们需要责任,它们需要封装一些东西。例如,它可以为您跟踪某些状态,并从"活动"中隐藏一些复杂的状态机逻辑。当在同一行中创建并丢弃辅助对象时,这两个对象之间也没有关联。