Patterns: Null Object

I've covered never having nulls and that's what the NullObject pattern is here to help us with. The NullObject pattern is one that I tried to implement earlier in my career (mostly after reading about it) and never managed to get it to stick. I now know that it never stuck because I never did it right. I got close. I got rid of the nulls; but never the Null [Read More]

My Thoughts: Pass through vs Base class

A conflict that has come up a few times is using composition and a pass through or a base class I favor pass through; I write it that way Everytime. The other engineer on the project favors a base class. Here's an example of what we've encountered a few times in the project at work. public class CacheFoo : IFoo{ private ICache<IFoo> _cache: Private IFooer _fooer: //Berevity [Read More]

Book Review: The Nature of Software Development

TL;DR: I loved the book. Go read it. Over the past few years working with a team of XP devs who've been using the XP practices for well over a decade each has taught me a lot. These amazing colleagues have helped me grow in just about every way. Including technically, which was a surprise to me. The technical growth wasn't direct from them teaching me new things; but [Read More]

µObject Poker: Scoring a Hand

I found I'm not a huge fan of the video. I don't tend to put a lot of time and effort into each post; it's an opportunity for me to share research and experimentation with the world; as well as give myself a searchable brain. :) The video took WAY too much time. I figure if I'm going to be trying that again; I'll put it off and it'll have a [Read More]

µObjects: Being Cohesive

Cohesion for objects is how well the behaviors in the class belong together. Some very non-cohesive behaviors would be multiplying two numbers and splitting a string. Multiplying and Raising to a power can be very cohesive behaviors. How do µObjects do cohesion? That's what this is about. The simplest is - They only have one behavior. Let's dig into a little detail. µObjects are single purpose. Intrinsicly highly cohesive class [Read More]