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.…

µ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…

M:TG Game - Event Bussing

I've been pondering how to do some µObjects in a more intelligent system for a while. I'm going to try to use Magic: The Gathering for this. Much like the poke one; the idea here is to explore µObjects and how they can be applied in more situations. With the…

µObjects: Fluent Types

I expect us all to be aware of the anti-pattern Primitive Obsession. If not - there are some quick resources available. Now that we have an idea of Primitive Obsession; I'll give my reason(s) for not using primitives. The core of Primitive Obsession is to not represent a concept…

µObjects: Being Loosely Coupled

Loose coupling is about how much a class knows about the objects it's using. The less a class knows about the components it is using; the better the decoupling. Or they are loosely coupled. How do µObjects fair with being loosely coupled? That's what I want to show today. µObjects…

µ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…

µObjects: Pizza Shop - Review

The Pizza Shop The Start More µObjects New Requirements Calzoned The Final I started the Pizza Shop example to show how to apply µObjects in code; Using a very similar process I do in production code. From there, working through the changes and applying them. Originally I hoped to show…

µObjects: Pizza Shop - Final Changes

These are the final changes for our Pizza Shop. I think a few will be interesting to implement; but nothing stands out as a "how would I...?". µObjects make it very simple and quick to get new functionality in cleanly. One of the changes is the ability to…