Archive for software design

Oh OO, thou art a heartless bitch

Posted in Design Issues with tags , , , , , on August 11, 2010 by moffdub

Well, it has finally happened. I am dreaming about defects in our code. Dream in code? Dog, I live dream-in-code every day.

Time for a familiar argument, a familiar decision. You have a blank slate. You must define some data transfer objects for your consumer based on some requirements. You provide an interface that takes in one of these data structures and returns an XML representation of that data structure.

And, for the sake of this discussion, you are using Java’s XMLStreamWriter as your XML framework (I know, I know, there are much more uber l33t ways, but this was the most straightforward and painless way for you in the time-frame you were given).

Simple. SIMPLE. Right?

Option 1

By now, your nudge, your twitch, your instinct is to define an appendTo(XMLStreamWriter) method to each object, which either writes a simple tag or calls appendTo(XMLStreamWriter) on its constituents:

Read more »

Nowhere To Run: 52 – Heart

Posted in Nowhere To Run with tags , , , on July 24, 2010 by moffdub

Announcer: From the EIP Sylvanian Operations Center, somewhere in south-eastern PA, it’s Nowhere To Run!

<< Previous Next >>
Announcer: You’re reading the EIP web-ring.

When inheritance hierarchies lose their structural integrity

Posted in Design Issues with tags , , , , on February 17, 2010 by moffdub

Let the record show that the number of work days I missed due to inclement winter conditions is zip, zero, nada. So tell Mother Nature to take her power outages and her blizzards and suck. On. That.

Did you really think some crystalized water molecules were going to keep me from my code? Girl, you MUST be crazy.

In fact, a new episode of Nowhere To Run was forthcoming on Saturday, but I succumbed to fatigue and the call of my nice couch/bed at a paltry 9 P.M. I am so old.

Allow me to posit something to you, folks. Suppose this is your nice, beautiful code:

Read more »

Follow

Get every new post delivered to your Inbox.