use Builder pattern from the constructor in a subclass

后端 未结 2 1222
死守一世寂寞
死守一世寂寞 2021-01-03 02:17

I am currently using the Builder pattern, following closely the Java implementation suggested in the Wikipedia article Builder pattern http://en.wikipedia.org/wiki/

2条回答
  •  星月不相逢
    2021-01-03 02:22

    You need:

    public class MySophisticatedObject extends MyPrimitiveObject {
      private String description;
    
      public static class SofisitcatedBuilder extends Builder {
        private final MySophisticatedObject obj = new MySophisticatedObject();
        public MyPrimitiveObject build() { return obj; }
        public Builder setDescription(String val) {
         obj.description = val;
         return this;
        }
      }
    
      public MySophisticatedObject (String someDescription) {
        // this should be the returned object from build() !!
        return new SofisitcatedBuilderBuilder()
             .setDescription(someDescription)
             .setidentifier(generateUUID()).build()
      }     
    }
    

提交回复
热议问题