我一直在研究Seam框架很久。尽管我不在工作中使用它,但我喜欢它的方法。这很有趣。但我有些怀疑。在阅读Seam in Action书籍后,我认为你不可能将多于一个参数绑定到商业方法。类似于在Seam框架中为业务对象建模的模式?
@Stateless
public class BusinessObjectImpl implements BusinessObject {
public void doSomething(SomeObject i01, SomeObject i02 and so on...) {
}
}
我是对的吗?因为它,你有两种技术途径:
- @In(供注射用)和@Out(用于注出)
//
@Stateless
public class BusinessObjectImpl implements BusinessObject {
@In
private SomeObject input01;
@In
private SomeObject input02;
@In
private SomeObject input03;
@Out
private SomeObject output01;
@Out
private SomeObject output02;
@Out
private SomeObject output03;
public void doSomething() {
// some code
}
}
- 您可以使用Seam上下文
//
@Stateless
public class BusinessObjectImpl implements BusinessObject {
public void doSomething() {
SomeObject input = Context.get("contextualName");
SomeObject output ...
Context.set("contextualName", output);
}
}
如果第一种方法在无状态中使用,它有很多方法,所以我认为最好使用Command模式为业务对象建模。我对吗 ?喜欢的东西
public class DoSomething implements Command {
@In
private SomeObject input01;
@In
private SomeObject input02;
@Out
private SomeObject output01;
public void execute() {
}
}
你:什么模式(和良好做法)你使用,以避免在一个无状态的业务对象的许多成员字段?
问候,
谢谢你,大摩。我如何将一个以上的参数从JSF页面传递给业务对象?你能告诉我如何...?我是Seam的新手。 – 2009-10-08 17:06:45
谢谢,真的很好,我的下一步就是成为Seam的开发者。 – 2009-10-08 18:55:23