我一直在研究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