在android中应用委派模式的正确方法



我正在尝试在我的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_。你根本不需要一个物体。

来自维基百科

对象不是执行其指定的任务之一,而是将该任务委派给关联的辅助对象。有一种责任倒置,其中一个被称为委托的辅助对象被赋予为委托者执行任务的责任。

我认为,当上面声明您委托给关联对象时,您需要更确切地理解它。首先,因为对象需要有成为对象的理由,它们需要责任,它们需要封装一些东西。例如,它可以为您跟踪某些状态,并从"活动"中隐藏一些复杂的状态机逻辑。当在同一行中创建并丢弃辅助对象时,这两个对象之间也没有关联。

最新更新