我在设计解决方案时需要一般性的建议。
我的一般思维过程是:
让我们说用户必须登录某个Cinema网站,然后我们需要
// id, password, address, name, age, sex etc. of the User
// login method which authenticates the login
// default Display of Movies after login
// Displaying the list as per the chosen type (select the choices of "TRENDING","MYTHOLOGY", ACTION" Movies).
的疑问:
所以我定义了这样一个类:
public class User implements IUSER {
private String id;
private String password;
private Authenticate authenticate;
private DisplayUI displayUI;
..
..
..
User()
{
authenticate = new Authenticate();
displayUI = new DisplayUI();
}
public String getUserName() {
return userName;
}
private String userName;
@Override
public void login() {
authenticate.verify(userName,password);
select("ACTION");
}
@Override
public void select(String Type) {
displayUI.display(Type);
}
}
...
在这个设计中,我在这里拥有所有必需的对象,如Authenticate,DisplayUi等。但是通过这种方式,我可能不得不在用户类中使用许多对象(更像是Facade Pattern)。
这是正确的方法吗?请建议我,如果可以更好的方式实施。
答案 0 :(得分:1)
回答你的问题是面向对象的设计。您提到的应用程序是一个完整的系统。通常,这种系统分布在至少3层,即演示,业务和持久性。上面显示的样本设计尚未通过设计生命周期。分析阶段似乎已完全被忽略。出现错误设计的典型症状是
而不是简短的修复,它需要通过面向对象的设计过程。坚实的原则也有助于更好地理解它。