Design patterns 使用什么设计模式?连接性和UI模型
根据对象(模型)的类型,需要打开所需的窗口。模型不应该了解用户界面。什么样的模式可以解决这个问题?这个“可能”就是你想要的 “模型”类具有以下方法:Design patterns 使用什么设计模式?连接性和UI模型,design-patterns,Design Patterns,根据对象(模型)的类型,需要打开所需的窗口。模型不应该了解用户界面。什么样的模式可以解决这个问题?这个“可能”就是你想要的 “模型”类具有以下方法: public class MyClassA { ... public void accept(Visitor v) { v.visit(this); } } public class MyClassB { ... public void accept(Visitor v) {
public class MyClassA {
...
public void accept(Visitor v) {
v.visit(this);
}
}
public class MyClassB {
...
public void accept(Visitor v) {
v.visit(this);
}
}
public class MyClassC {
...
public void accept(Visitor v) {
v.visit(this);
}
}
public class MyClassD {
...
public void accept(Visitor v) {
v.visit(this);
}
}
然后,“访问者”有一系列名为:
public void visit(MyClassA instance){...}
public void visit(MyClassB instance){...}
public void visit(MyClassC instance){...}
public void visit(MyClassD instance){...}
这利用了多态性和根据输入类动态调度适当方法的能力
这允许您的模型类不知道什么算法正在“处理”它(访问它),但对于所有设计模式,这会在访问者类和它可以支持“访问”的类之间创建耦合。因此,这里有一个折衷方案,即允许模型更简单/不知道它连接到什么 我不确定这是一个讨论这个问题的合适论坛,这个问题也应该扩大。也许您正在寻找MVC、MVP或MVVM?不,这些设计模式不适合。