Fantasy Grounds Module Maker - It Works

Some friends and I play D&D through Fantasy Grounds. It's a great app, we have a lot of fun playing through it. While we start getting used to it; there's been interest in being able to make custom things. From a couple friends who&…

Technical Practices: Never Return Your Data

No Getters That's the normal form of this technical practice. No Getters There's some uncertainity around what "No Getters" means. OK, there's two versions of it. Yegor Bugayenko in Elegant Objects Vol. 1 [https://quinngil.com/2017/08/06/book-review-elegant-objects-vol-1/] says, >…

µObjects: Unit Testable UI Interactions

This is a follow up to the Hotel Pattern [https://quinngil.com/2017/07/09/the-hotel-pattern-2/] which I've pretty much abandoned, though it's concepts and ideas have evolved into my current practices. It ties into the Interface Overload [https://quinngil.com/2017/05/21/interface-overloading/] mechanism…

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…

µ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: Fluent Types

I expect us all to be aware of the anti-pattern Primitive Obsession. If not - there [http://wiki.c2.com/?PrimitiveObsession] are [https://refactoring.guru/smells/primitive-obsession] some [http://blog.thecodewhisperer.com/permalink/primitive-obsession-obsession] quick [http://blog.ploeh.dk/2011/05/25/DesignSmellPrimitiveObsession/] resources [https://lostechies.com/jimmybogard/2007/12/…