Technical Practices: Low Coupling

Low coupling can mean a few flavors of things depending on your context. My general definition of Low Coupling is "Not knowing what it is, just what it does". This allows us to interact with objects without knowing the underlying implementation, and unable to make any assumptiosn about…

Quick: MicroObjects and Json

A question on twitter has moved forward doing an example of serialization and deserialization. This is gonna be a pretty quick example and blog post as this is being done so that I can provide a code sample as my answer to the asker! I'm going to use JSON as…

Beneficial Results: Code Reuse

I don't remember exactly where or who, but writing re-usable code was impressed upon me as an important thing I now completely disagree with that. Do not write reusable code. One of the worst things you can do when writing code is to make it "re-usable" before you…

Teach Yourself MicroObjects: Output the Data

Encapsulation - it's a huge part of what allows us to be highly effective developers. It's what MicroObjects is about. Encapsulation is the highest thing to strive for when striving to write good code. If we encapsulate our data so effectively that we can never just access the data... how…

Teach Yourself MicroObjects: Add Two Ints

I'm working on ways I can share the practices and mindset that allows me to create MicroObjects. One of the suggestions I've gotten from a co-worker, John, was to create as simple of a project as possible and show my steps to breaking it into MicroObjects. FizzBuzz as a project…

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 says, It's all about prefixes That's section 3.5.3 in Elegant Objects Vol. 1.…

µObjects: Unit Testable UI Interactions

This is a follow up to the Hotel Pattern which I've pretty much abandoned, though it's concepts and ideas have evolved into my current practices. It ties into the Interface Overload mechanism I discovered as well. Though, neither fit well into the new µObject paradigm that I'm developing in. Both…

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…