Sunday, November 18, 2007

Service Oriented Objects

One of my colleagues at work pointed me to the article by Bill Venners (Artima) on "Service oriented Objects". It's an interesting read.

Bill takes the statement Booch made on the objects that the "objects have state, behavior, and identity" and goes on to contrast different types of objects based on their state, behavior, and identity characteristics. I am copying a snippet from Bill's post below.

"Although in theory every object has state, behavior, and identity, in practice different object designs use state, behavior, and identity differently. Granted, most object designs I have encountered have had both interesting state and interesting behavior, as predicted by Booch's statement. I call this most common kind of object Service-Oriented. I have often encountered objects, however, that have little or no interesting behavior. These objects, which I call Messengers, are composed primarily of state. On the other hand, I have on occasion encountered objects that have little or no interesting state. These objects, dubbed Flyweights by the Design Patterns book, are composed primarily of behavior. Lastly, some objects are immutable, which means that once their state is established at the beginning of their lifetimes, the state never changes. Although every object does indeed have a unique identity, immutable objects are differentiated more often by value than by identity."

This article changed the way I have been thinking about Objects (mainly from the state and behavior aspects; not from the identity viewpoint).

I look forward to more articles from Bill on this topic.

No comments: