Re: OOP/OOD Philosophy



krasicki wrote:

Not all Computer Scientists are successful with design objects.  To be
successful, the individual using them must be able to think in very
abstract ways.  Not everyone can and even when they can, corporate
policy and practice often make the effort impossible.

I agree that it takes work, but I don't think that deep abstraction is involved. To me, object design is more like concretization. The steps are: 1)think of thing that can solve a problem for you, 2) think of a way to ask it to solve the problem 3) go inside the thing and solve
the problem. It's just a little different from the procedural mindset
which is: 1) think of a way to solve the problem 3) solve the problem.
The abstraction in OO is really all about thinking about a way to ask
for a solution rather than leaping into a solution.


This frustrating truth is largely responsible for the Extreme
*whathaveyou-usually-Programming* phenomenons.  With a straight face,
these proponents assert that if design is not egalitarian and if
companies don't respect it then -snip, snip- out with it except for
perfunctory lip-service.

How many XP teams have you worked with?

One cannot glibly 'think' in OOD, there isn't any such thing. OOD is
very hard work, time-consuming, expensive and easy to derail (just have
bottom-up activity happening in the background that pre-empts the
designers).

It is like anything else. Hard when you start, but easier when you acclimate to it. I "think in OO" but I've been doing it for a long time.



Michael Feathers author, Working Effectively with Legacy Code (Prentice Hall 2005) www.objectmentor.com .



Relevant Pages

  • Re: Data modeling in MV, revisited
    ... Whilst many people may have made design ... Yes, but not likely a "best practice," right? ... dictionaries - where EVERYTHING was embodied in code. ... If you start with the business problem, you will rarely end up with the ...
    (comp.databases.pick)
  • Re: Meganet strikes back
    ... > key streams have in fact been used in practice. ... >> Note that aids are killing a whole continent (Africa)! ... your phrase 'access to relevant information' also ... > informed evaluation and verification of the design and ...
    (sci.crypt)
  • Re: Comparing Dictionaries
    ... Though in my daily job I have some coding tasks, I do not see my self as a programmer since in my perspective a programmer is someone who can write good code regardless of the language. ... A functional design is written on the base of the assignment and the scope definition. ... Still there are tons of reasons why you shouldn't follow blindly the best practice, since best practice is founded on theory molded around the most occurring reality. ...
    (comp.lang.python)
  • Re: Comparing lists
    ... > design of my programs when no computer happens ... hard way), the distance between theory and practice, in practice, is ... >> love big-O because it's easy to compute, ... > acquired, by way of conditioning experiences, ...
    (comp.lang.python)
  • SPAM
    ... Farkas and his men sound pathetic next to Chambers, Bloom, Berv, ... The most successful design and manufacturing engineer of the acoustic ... *academia is generally taught by those who never left academia and ...
    (rec.music.classical.recordings)