Message Patterns, Protocols, and Interfaces

OOP reorganizes programming into patterns of messages among cooperating objects. This sounds harder than it is, but in some cases it is harder than it sounds! When you have a few objects and a few messages, it’s not too difficult to keep straight who says what to whom passing which arguments. When you have a [...]

The Many Shapes of Polymorphism

What is Polymorphism? The word “polymorphism” is from the Greek words “poly”, which means “many”, and “morph”, which means “form”. So “polymorph” means “many forms”, and “polymorphism” means “the ability to take on many forms”. But enough academics. How Does Polymorphism Work? Polymorphism is a by-product of message-passing, or dynamic dispatching. One message may execute [...]

Encapsulation and Aggregation

Each week I intend to discuss an object-oriented programming concept, often from an unusual perspective. This week I want to talk about encapsulation and aggregation. Subscribe to the Object Mechanics Guild Newsletter using the form to the right, to make sure you are notified when a new article appears, and to download the first book [...]

Object Mechanics – Book Progress Update 2, OMG!

Like so many things in life, plans fracture when they encounter reality. As I make (too slow!) progress on the first draft of the book, I’ve slowly come to realize that the planned chapter outline would produce a thousand-page monster. This is not what I intended. The solution – like so many other things – [...]

Why Object-Oriented Programming is Important…and Inevitable

When I discovered (reinvented; see About page) object-oriented programming (in the mid-1980s) I was overjoyed. It solved many of my most irritating problems with programming. Frankly, I had become quite bored with (business) programming, it just seemed to be endless tedium, solving basically the same problems over and over with only slight variations. OOP made programming [...]

Object Mechanics – book progress report

I’ve been thinking about writing this book for years. YEARS. Because all of the books on object-oriented programming that I’ve read or skimmed seemed somehow incomplete to me (caveat: there are hundreds, and of course I haven’t read them all!). With some arm-twisting encouragement from my publisher, editor, and good friend Andrew Rollings (author of classic [...]

Object Mechanics – Practical Object-Oriented Programming

Welcome to the home of the forthcoming book, Object Mechanics – Practical Object-Oriented Programming!