In Java, Beans are an important part of good programming practices and good Object-Oriented coding. There has been a lot of discussion recently about monitoring changes on beans other such functionality that is not inherently built into Java. With my Magic Beans project I’ve already done a lot of things along these lines, but recently I’ve been thinking more and more about how powerful beans could be if they were to extend outside the boundaries of the norm. What if you could deal with Beans like you do with Connections in SQL? What if you could create a transaction that would give you a new copy of a Bean and when you are done with it you can “commit” that bean back to the original? What if you had transactional monitoring of beans that goes beyond the normal Observer/Observable concepts?
I keep coming back to beans as one of my biggest stumbling blocks for writing good and efficient code. Inevitably I’m going to have to revisit Magic Beans and finally create the end-all-be-all for Bean handling.