Category Archives: design

Swapping out Implementations; really?

In certain circles, one of the main raisons d’être for object-oriented design, or encapsulation in the broadest sense, is that it makes it possible to later “swap out” implementations without disturbing the end-client whatsoever. I kind of tacitly accepted that for a … Continue reading

Posted in design, Software | Tagged , | Leave a comment

Inheritance is Great!

I just wanted to have a post that said that to try and counterbalance all the “inheritance is evil” posts I see. There’s one linked on the HackerNews front page today, but it is just another in a long string … Continue reading

Posted in design, Rant, Software | Tagged , | Leave a comment

Where is your Garbage Garage?

I live in a pretty good neighborhood and get to know it by running around in it most mornings. It’s nice — for the most part. But there are these places. Houses slightly in need of a paint-job with two-car garages and … Continue reading

Posted in Coding, design, Software | Leave a comment

Interfaces Increase Complexity

I like C# interfaces, as well as interface-based programming, proxies, stubs, and all the other interesting ways they can be used. However, as with many trends and fads in our industry, I think the use of interfaces has gotten a … Continue reading

Posted in Coding, design, Software | Tagged , , | Leave a comment

Bashing OO

It seems to be fashionable to disparage OO lately — or at least it is on the aggregation sites I frequent. If I can be allowed a few over-generalizations, these “critiques” tend to share the following characteristics: They begin or … Continue reading

Posted in design, Software | Tagged , , | Leave a comment

Not Tradeoffs, but Balances

  I was reading an Ars Technica article today which talks about the company that designed the Microsoft Surface. The first few paragraphs focus on the specifications of the display — its size and resolution — and continually refers to … Continue reading

Posted in design, Software | Leave a comment

The Weakness of Interfaces

I love the idea of interfaces as a programming construct. My first real introduction to them was in the guise of base classes in OO design. The idea is simple and elegant: specify the API and leave the implementation details … Continue reading

Posted in design, Programming languages | Tagged , | 2 Comments