Patterns: Null Object

I've covered never having nulls [https://quinngil.com/2017/10/15/uobjects-no-nulls/] and that's what the NullObject [http://wiki.c2.com/?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…

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…

My Thoughts: 'Interface' isn't harmful

My thoughts about Object Oriented Programming has evolved over the years. Especially in the past 6 months. My development of MicroObjects has caused a lot of thinking about Object Oriented Programming and how to develop better and more maintainable software. A lot of great discussions that have certainly helped drive…

Book Review: The Nature of Software Development

TL;DR: I loved the book. Go read it. [https://pragprog.com/book/rjnsd/the] -------------------------------------------------------------------------------- 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…

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

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…

µObjects: Being CLEAN

Beyond Legacy Code's CLEAN I've read David Bernstein [https://twitter.com/ToBeAgile]'s Beyond Legacy Code [https://www.amazon.com/Beyond-Legacy-Code-Practices-Software/dp/1680500791] and clearly enjoyed it. :) One of the concepts he expands on in the book is "Clean Code". He takes this…

µObjects: Being Nonredundant

Redundant code is code that changes at the same time for the same reason. Part of object oriented programming is limiting change to a single place. If it changes, it should change in one place. How do µObjects encourage being nonredundant? By focusing on doing one thing. Let's…