Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Isn’t the point of the builder pattern to separate the builder object (which is mutable) from the final built object (which can be immutable)?

That seems like the same thing as the example in the original post.



For me a "builder pattern" is also something like this with immutable data:

   built = empty().configA(a).configB(b). ... .configZ(z)
  
where each

   config?(this : T, k : K) -> T
For me the defining feature of a builder is the (possibility of a) gradual "configuration" (or whatever) of the data structure being "built". A state change is something else in my opinion, but of course, the difference between a "state change" and a "configuration" (which does change state) isn't a clear one, so if for you that is still a builder, that's fine for me too ;).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: