gpt4 book ai didi

java - 如何以类似 Wicket 的方式处理复合模式?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:18:15 24 4
gpt4 key购买 nike

在任何 Wicket 转发器组件中,基于模型对象类使用不同组件类的常见模式是什么?我目前的方法是这样的,但我想有更好的解决方案:

BaseClass
|- AClass
|- BClass
`- CClass


protected void populateItem(Item<BaseClass> item) {
BaseClass obj = item.getModelObject();
if (obj instanceof AClass) {
item.add(new APanel("content", Model.of((AClass) obj)));
} else if (obj instanceof BClass) {
item.add(new BPanel("content", Model.of((BClass) obj)));
} else if (obj instanceof CClass) {
item.add(new CPanel("content", Model.of((CClass) obj)));
}
}

最佳答案

您可以使用主页外部的工厂模式。工厂中的代码看起来与您已有的代码相似。

protected void populateItem(Item<BaseClass> item) {
item.add(PanelFactory.getPanel("content", item.getModelObject());
}

关于java - 如何以类似 Wicket 的方式处理复合模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32178949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com