Jun 52007
I've been using UML more often to visualize object relationships, so after reading Brian Rinaldi's recent posts on
ColdSpring, Objects and Composition, I researched object composition and learned the subtle difference between Composition and Aggregation.
Read more...
May 152007
To go along with my previous woolgathering on the
correlation between a database schema and a class package, here is another observation regarding class inheritance and sub/supertype tables.
In object modeling, we describe the relationship between a subclass and superclass as "is a". The same goes for tables in a data model, where the subtype "is a" supertype. The obvious benefit of using inheritance in object modeling is code reuse. When we add, remove or alter a method of the superclass, the change is automatically inherited by the subclass. In a data model the benefit of using subtypes is arguable. The benefit are that your model better represents the domain, reduces data duplication and (depending on the extent of your normalization) eliminates NULL values. The trade-off is that you are thereafter required to use joins when reading records and transactions when creating, updating or deleting records.
Read more...
May 142007
When generating object models, I prefer to package related classes together. For instance, a Calendar would have the following classes:
calendar.Calendar
calendar.CalendarDAO
calendar.CalendarService
calendar.CalendarGateway
Since my controller or view will never invoke methods on my CalenderDAO or CalendarGateway directly, I can secure the methods in those classes by setting access="package". Another subtle benefit is that the component files are organized in a single folder...
Read more...
Mar 292007
Approximately a decade ago, I intrepreted this phase to mean, "Where do our ideas originate?". At the time, I was intereseted in learning HTML and looking for a creative outlet. Fancy Bread was born as both an outlet and an obsession. Along the way, I learned everything I could on subjects like SQL, Javascript, CSS, Flash and my prefered programming language, ColdFusion. A great majority of my learning has come from online resources. With this blog, I hope to share ideas, tips and tricks, and, of course, rant now and again. All the things you can expect from a guy whose fancy is bred, both in the heart and in the head.
Recent Comments