From: Michael E. Lee, II <mlee@primenet.com>
Subject: Re: WHERE ARE ALL THE OT EXPERTS???
Date: 1996/07/30
Date: 1996-07-30T00:00:00+00:00 [thread overview]
Message-ID: <VA.00000002.03061fd3@primenet.primenet.com> (raw)
In-Reply-To: 31fa4f6a.1089588215@news.cyberport.com
> >>trivial as to be completely useless, and (2) it's *worse* than
useless
> >>because it's a completely action-centered approach. Urgh.
> >
> >2) Define "action-centered" in this context. I don't understand what
> > you're trying to tell me. What is the alternative
("passive-centered" :-)?
>
>
> A book I recently read points out that most people who use
> action-oriented design when using an O-O language tend to have roots
> in procedural programming. I don't know anything about CRC cards,
but
> if it is action-oriented, it wouldn't surprise me that managers tend
> to like them. Most of these managers were probably promoted out of
> the programming ranks while they were still using a procedural
> language. Unfortunately, the different duties of a manager tend to
> separate them from the current technical happenings, so they're not
as
> up-to-date as when they were programming.
Knowing the inherent risk of jumping into a thread mid-stream, here
goes...
The whole notion of CRC revolves around a single basic understanding:
things (people, organizations, objects, systems, etc.) work together to
accomplish tasks (business processes, workflows, Use Cases, methods,
etc.). Granted, Responsibility-Based Design (RBD) focuses on behavior,
but it is _always_ the behavior of things. Never, never, is this
behavior "stand-alone" or strictly functional in nature.
The hard-time RBD has been getting is very much related to our
perception of "analysis" and "design". RBD splits-hairs in this area.
From one perspective, RBD deals with the external reference of
objects - i.e. what are they and what do they do? From another
perspective it deals with the internal nature of the behavior - i.e.
how are things accomplished. It is this internal view that defines the
collaborations.
> Action-centered design is usually associated with procedural
> programming, because it encourages this approach. Basically, it
> centers on the actions of the user, with each of the user's paths
> modeled in the software. Object-oriented programming can capture
this
> sort of model, too, but doing so doesn't take advantage of the
> paradigm. For one thing, it tends to destroy reusability, because it
> ties the design to one specific domain. So, action-oriented design
is
> to OOP what unstructured design was to procedural programming.
Horse s---!!!!!
Where do I start?
Leaving aside the red-hearing of "action-centered", let's switch our
focus back to Responsibility-Based Design (which CRC is a short-hand
mechanism).
First, one doesn't have to fit in a CRC model into an OO paradigm
anymore than one would have to fit a Fusion, Booch, OMT, or Use Case
model into the OO paradigm. RDB _is_ OO! Period.
Second, how does RBD destroy reusability? How does it tie one to a
specific domain? There seems to be a misunderstanding that RBD is
strictly de-compositional in nature. It's not. Granted, identifying
and establishing collaborations may force us to "de-compose" a
Responsibility's behavior, but this does not mean that we have to
identify, define, and build the servicing objects from scratch! In may
circumstances, the process is one of synthesis rather than
decomposition. We have an existing set of objects (many, if not all,
of which can be domian-independent) which supply a set of services
(which themselves can be modelled using RBD - if so desired). We then
build higher-level methods, tasks, workflows, or processes from these
objects (we could also derive new objects from the existing ones, and
synthesize from these).
Finally, I come full circle. Objects and their behavior do not
stand-alone. An object is useless unless it interacts with its
environment. RBD allows us to define these interactions - in the same
model we define the objects. And RBD is not the only way. The
popularity of Use Cases is another example of our hunger to put objects
into an overall perspective. (Altough one can view Use Cases as
Responsibilities of the systme being analyzed, and the Actors as
objects establishing collaborations with the system Responsibilities).
+----------------------------------------------------------------------
-
Michael E. Lee, II mlee@primenet.com
Agincourt Engineering
next prev parent reply other threads:[~1996-07-30 0:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-07-23 0:00 WHERE ARE ALL THE OT EXPERTS??? Andrea Lee
1996-07-24 0:00 ` Vladimir Alexiev
1996-07-24 0:00 ` Jeremy L. Rosenberger
1996-07-25 0:00 ` bbum
1996-07-24 0:00 ` Thaddeus L. Olczyk
1996-07-25 0:00 ` Alf P. Steinbach
1996-07-25 0:00 ` !@?*$%
1996-07-28 0:00 ` Lawrence Kirby
1996-07-25 0:00 ` Ron Crocker
1996-07-26 0:00 ` Frank Felix Debatin
1996-07-27 0:00 ` Warren Young
1996-07-30 0:00 ` Michael [this message]
1996-07-25 0:00 ` Ell
1996-07-27 0:00 ` Thaddeus L. Olczyk
1996-07-27 0:00 ` Brad Clawsie
1996-07-27 0:00 ` Bob Kitzberger
1996-07-25 0:00 ` not
1996-07-26 0:00 ` Bill Felton
1996-07-26 0:00 ` John Pilgrim
1996-07-29 0:00 ` B. Anderson
1996-07-25 0:00 ` Samuel S. Shuster
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox