I have a situation where I use a builder pattern for constructing an object. Best example to give is the pizza code
public class Pizza {
private int size;
pr
You've never seen that used because most of the time, the builder pattern is used to build an immutable object.
But I don't see why they couldn't coexist. The builder builds an object, and you want the built object to be mutable, then it can have setters. But then, if it is mutable and has setters, why not build the object using a simple constructor, and call setters to change the state? The builder isn't really useful anymore, unless only one or two fields among many are mutable.