OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF

Category Archives: OOP
A subtle [mis]understanding of monads
As I said when talking about Learning Phases, one of the things that happens when I’m trying to learn a new thing is that I build an analogy in terms of something I do understand. This can be dangerous when … Continue reading
Posted in FP, OOP
Leave a comment
Object-Oriented Programming in 1714
Here are some excerpts from Leibniz’s La Monadologie (specifically from Daniel Garber and Roger Arlew’s English translation in Discourse on Metaphysics and Other Essays). THE MONAD, which we shall discuss here, is nothing but a simple substance that enters into … Continue reading
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
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
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