Re: Why is OO popular?

From: JXStern (JXSternChangeX2R_at_gte.net)
Date: 05/13/04


Date: Thu, 13 May 2004 03:13:20 GMT

On Wed, 12 May 2004 22:26:03 GMT, "H. S. Lahman"
<h.lahman@verizon.net> wrote:
>>>It's a paradigm issue. In OO we abstract /existing/ problem space
>>>entities with /existing/ properties rather than constructing /new/
>>>entities by composition just because it is convenient to do so.
>>
>> Doesn't address the issues at all.
>>
>> Say you're doing a farm system. You create a class "cow", and you use
>> it for all the four-legged things standing out in the field. You
>> confirm the design and solution, thing works in beta, you roll it out,
>> it works fine. Turns out, you not being a farm boy, that many of
>> those four-legged thingies are, after all, horses. It doesn't even
>> matter for six months, but then the customer finds a need to track
>> some properties only horses have.
>
>But that's kind of the point. OO practice /demands/ that one understand
>the problem space properly. At least to the extent that it is relevant
>to the requirements.

But those last two sentences cannot really be reconciled, can they?

> If all one needs to do is count the critters, then
>counting the legs and dividing by four Just Works -- providing one knows
>enough about the problem space to be confident there would never be
>ostriches in the field.
>
>However, relevant to the composition issue, when requirements do change
>so that horse properties are relevant, one doesn't deal with that by
>adding Horse properties to Cows. One learns about Horses in the domain
>and abstracts them into unique objects based on their intrinsic properties.

Sure, fine, the pragmatic approach works, and hey, what else can
anyone really expect? I agree. But then, please nobody give me noise
about *really* understanding the problem and coming up with objects
that resemble how things just are in the world.

I can argue it either way. I like to think it is the job of the
system designer to research how things are, beyond what the customer
might already be aware of, possibly beyond what the customer would eve
approve. Then you can put whatever silly wrapper on it, that will
make it look like whatever the customer demands. But apparently
that's out of style, software development in these dark days involves
licking the hand of the sponsors, because that's what they demand.
Again, fine, whatever, but let's just be clear what's going on.

J.



Relevant Pages

  • Re: defining quality of OOA and OOD models
    ... must be done) while an OOA model describes the solution (How it should ... Using the term "analysis" to mean "design" should, if nothing else, not ... bridge the chasm between customer problem spaces and the computing ... the problem space abstraction that dominates OOA is ...
    (comp.object)
  • agile/xp question (formal analysis)
    ... [please read the whole thing before replying - in otherwords dont ... a manager or even a developer who 'knows' the problem space. ... It seems this 'knowlegable' person learns on the job from a 'customer' ... This is analysis and design of the problem space. ...
    (comp.object)
  • VUI Designer Position available with eLoyalty
    ... eLoyalty Corporation is a leading management consulting, ... eLoyalty's broad range of enterprise Customer ... This creative and detail-oriented individual will design and consult on ... conversational speech applications, working to achieve exceptional ...
    (comp.speech.research)
  • Re: Organizing My Boss
    ... > shop foreman, etc.) to make sure that you understand what their needs are. ... >> moment we receive an RFQ, to the moment a job is shipped to the customer. ... Somehow, accounting finds out that we got a new job in, and finds the ... The design is briefly reviewed by my boss and the shop ...
    (comp.cad.solidworks)
  • Re: Organizing My Boss
    ... to the moment a job is shipped to the customer. ... Somehow, accounting finds out that we got a new job in, and finds the ... The design is briefly reviewed by my boss and the shop ...
    (comp.cad.solidworks)