> From: Mark Windholtz [mailto:windholtz@xxxxxxxxx]
> Ha! You got me, that time.
[...]
> How about:
> constants used in conditional logic are DP.
> But it's too long for a subject line, or a bumper sticker.
As most things in life, things are more complicated than slogans. I'm
not sure I ever noticed constants being an indicator of DP vs Behavioral
OO. Things I watch for:
* UML diagrams with lots of attributes and few methods (I see lots of
these).
* Classes with lots of getters/setters and little else (Beans anyone?).
* The tendency to pull data out of an object in order to do something
with it.
Regarding the first item. I recently started looking at the spec a new
project. Amidst the database tables was a UML diagram. "Great!" I
thought. "They are thinking about an object model too!" When I took a
closer look, it was all class icons, with attributes and no behaviors!
They even had a interface defined in the diagram (with no methods) and
the class implementing the interface also had no methods (but plenty of
attributes). It was an ERD diagram written using UML class icons.
That's it.
Truthfully, the OO methodologies that are popular now really do not
stress the behavioral nature of OO design. They tend to view objects as
little packets of data (lightly) wrapped by services. Booch had some
tendencies in this direction, but when the three Amigos got together,
the strong data modeling of OMT tended to overshadow the little
behavioral modeling in Booch. Sigh.
Mark, I'm really sorry I missed your talk on Monday. I'm suggesting a
recap and continuation of this discussion at UNO's after the XP meeting
next Tuesday.
-- Jim Weirich
|