Re: passing a Factory to a method to create a generic instance
Tom Anderson wrote:
The one constructor that i want Room to support is one that takes an
IOStream, just like your AssignmentLoadable.load interface. How were you
planning to solve this problem?
I wasn't. And, someone has written the "all-in-one" constructor for me:
in = new ObjectInputStream( inputStream );
room = (Room)in.readObject();
will do that. So if I had to I'd use some variation on that method. The
OP wanted a way to load objects with a single load method; that's what I
was trying to give him.
<http://java.sun.com/developer/technicalArticles/Programming/serialization/>
I also like the idea of making guests a separate object which are then
added to a Room. Makes sense to me.
Now we have a POJO
You keep using that word. I do not think it means what you think it means.
I'm used to POJO as a contrast to things like EJB. POJO objects also
like to be fully constructed by their CTOR, as opposed to being
configured by setters, thus eliminating the possibility of an illegal state.
You're right though, the Rooms object was a POJO too, as are most
ordinary JavaBeans.
My opinion is that all types of design patterns are needed, and should
be used. Trying to force a pattern onto a design is going to make the
design brittle, hard to maintain, etc. Use builders where they are
needed. Use POJO were it's needed. Use EJB where it's needed.