Category Archives: OOP

Reversing the polarity of the message flow

On receiving a message with a parameter, sometimes an object just reverses the sense of what just happened and sends another message to the parameter object with itself as the parameter of this message. That’s a pretty hard sentence to … Continue reading

Posted in OOP | Comments Off on Reversing the polarity of the message flow

The Humpty-Dumpty Guide to OOP

Everybody knows that the best way to sound intellectual and demonstrate the superiority of your approach to that thing you do is to wrap it in a fancy-schmancy noun term. This works particularly well with a term that can be … Continue reading

Posted in OOP | Leave a comment

Contractually-obligated testing

About a billion years ago, Bertrand Meyer (he of Open-Closed Principle fame) introduced a programming language called Eiffel. It had a feature called Design by Contract, that let you define constraints that your program had to adhere to in execution. … Continue reading

Posted in architecture of sorts, code-level, OOP, TDD | 1 Comment

I use mocks and I’m happy with that

Both Kent Beck and Martin Fowler have said that they don’t use mock objects in their test-driven development. I do. I use them mostly for the sense described first in my BNR blog post on Mock Objects, namely to stand … Continue reading

Posted in code-level, OOP, TDD, TDiOSD | 1 Comment

On too much and too little

In the following text, remember that words like me or I are to be construed in the broadest possible terms. It’s easy to be comfortable with my current level of knowledge. Or perhaps it’s not the value, but the derivative … Continue reading

Posted in advancement of the self, architecture of sorts, OOP, software-engineering, tool-support | Leave a comment

Inside-Out Apps

This article is based on a talk I gave at mdevcon 2014. The talk also included a specific example to demonstrate the approach, but was otherwise a presentation of the following argument. You probably read this blog because you write … Continue reading

Posted in architecture of sorts, MVC, OOP, ruby, software-engineering | Comments Off on Inside-Out Apps

Messily Veneered C

A recap: we saw that Model-View-Controller started life as Thing-Model-View-Editor, a way of approaching problems to design Smalltalk user interfaces. As Smalltalk-80 drifted off from its ivory tower, many Smalltalkers were using and talking about MVC, although any kind of … Continue reading

Posted in MVC, OOP | Comments Off on Messily Veneered C

The Objective-C protocol naming trifecta

Objective-C protocol names throughout history seem to fall into three distinct conventions: some are named after what a conforming object provides. Thus we have DBProperties, DBEntities, DBTypes and the like in Database Kit. others are named after what the object … Continue reading

Posted in OOP | Comments Off on The Objective-C protocol naming trifecta

Missing Vital Content

After reading Moderately Valuable Cliché, reader Nicholas Levin got in touch to recommend that I look at the back of my Smalltalk-80 books. Here’s the blue one. The first book mentioned in “Other books in the … Series” is the … Continue reading

Posted in MVC, OOP | Comments Off on Missing Vital Content

Moderately Valuable Cliché

In part 1 of the MVC story, I examined “Thing-Model-View-Editor”, a pattern[*] extracted by Trygve Reenskaug’s work in Smalltalk-76. By the time Smalltalk-80’s hot air balloon set sail from the ivory tower, there was already a structure called Model-View-Controller. Part … Continue reading

Posted in MVC, OOP | Comments Off on Moderately Valuable Cliché