我剛開始學習和實現Wiki的生成器模式。還有Effective Java的CH2。Java生成器模式傳遞到會話JSP servlet
這與JSP servlet有關,這可能有點複雜,但我只是想通過這個通過你們看到如何正確地做到這一點。
讓我們從一個場景開始,在那裏你不能完全建立這個對象,有一些沒有給出的信息。所以很有可能你必須將對象放入會話中,然後再將變量添加到會話對象中。我將如何使用Build模式來完成此任務?
下面是一個代碼示例
public class Widget(){
public static class Builder(){
public Builder(String id) {...}
public Builder serialNumber (String val) {...}
public Builder area (String val) {...}
public Widget build() { return new Widget(this); }
}
private Widget(Builder builder){...}
}
JSP Servlet的1 //僅具有ID信息
Widget w = new Widget().Builder(id).build();
HttpSession session = request.getSession();
session.setAttribute("widget", w);
JSP的Servlet 2 //現在我有串行和麪積
Widget.Builder w = (Widget.Builder) session.getAttribute("widget");
//** This is as far as I go **
w.serialNumber("something") // Now this works
.area("sideArea") //
.build() // < I know if I do this I will be creating another Object. Is there a way to use build pattern without creating redundant obj?
謝謝大家...
爲什麼不直接在會話中保持ID,直到您準備好構建整個小部件? – GriffeyDog
@GriffeyDog是的......我想我可以做到這一點....謝謝!它的清潔哈哈。但我想知道是否有辦法做到這一點...... –