Loading ...
Sorry, an error occurred while loading the content.

RE: OOP and object models

Expand Messages
  • Mathews, Walden
    ... From: Paul Prescod To: Mathews, Walden Cc: Bill de hÓra; Toivo Deutsch Lainevool; rest-discuss@yahoogroups.com Sent: 12/4/2002 8:43 PM Subject: OOP and
    Message 1 of 50 , Dec 4, 2002
    • 0 Attachment
      -----Original Message-----
      From: Paul Prescod
      To: Mathews, Walden
      Cc: Bill de hÓra; Toivo "Deutsch" Lainevool; rest-discuss@yahoogroups.com
      Sent: 12/4/2002 8:43 PM
      Subject: OOP and object models

      Mathews, Walden wrote:

      >> Terminology strikes again. Object models and object oriented
      > programming have separate lives, according to what I read. Bill
      > is talking about polymorphic method resolution, which is one
      > feature of OO (the programming thing), while Paul's description
      > of "identity, state and behavior" is the /sine qua non/ of the
      > object model.


      >I've always seen polymorphism as being the core feature of the
      "behaviour" part of Identity, State, Behaviour. Objects carry around
      their behaviour. Structs, XML documents, RDF graphs and other "pure data

      structures" do not.

      Paul Prescod


      Yes, I shouldn't have said "polymorphic", strictly speaking. Jump
      tables are about dispatching to some method in a code inheritance
      hierarchy, and it's something we can ignore if we're mainly interested
      in runtime behaviors and properties, a la software architectures.

      Certainly the idea of different "shapes" lurking behind a single
      abstract interface is a 'behavioral' concept, not a code reuse one.

      Walden
    • Roy T. Fielding
      ... Ick, terminology is being misused. OOP is a programming structure paradigm dependent on such things as classes and inheritance. There is no such thing as
      Message 50 of 50 , Dec 5, 2002
      • 0 Attachment
        > I suspect that the problem you have with the services style is that
        > it constitutes a collection of antipatterns for distributed OOP. If
        > so, let's document what the risks of that style are.

        Ick, terminology is being misused. OOP is a programming structure
        paradigm dependent on such things as classes and inheritance. There
        is no such thing as distributed OOP. Object-based systems is what you
        get when you take OOD and distribute the objects. It is called
        object-based (instead of object-oriented) because we are talking
        about architecture, rather than source code structure, and architecture
        doesn't have classes and inheritance.

        > Communicating
        > to the OOP world through patterns/antipatterns is a great way to
        > make the case for the REST style - with the added bonus the claims
        > for REST will seem less grand.

        That is difficult to do. The OOPSLA community took the architectural
        concept of patterns and expanded it into anything with a recipe for
        implementation. I use the original notion of patterns, which came
        from Alexander watching human behavior as people live/work/move within
        a space. The closest analogy in computing is how data moves within an
        architecture. In other words, I do explain REST as a pattern, but
        what people call patterns now is tuned more for programming idioms
        rather than understanding system behavior.

        Architectural styles and architectural patterns are fairly consistent,
        but as you noted the purpose of REST is to force the developer into a
        less object-specific architecture, which is contrary to most of the
        OOD patterns. Whether that is good or bad depends on what is
        being implemented.


        Cheers,

        Roy T. Fielding, Chief Scientist, Day Software
        2 Corporate Plaza, Suite 150
        Newport Beach, CA 92660-7929 fax:+1.949.644.5064
        (roy.fielding@...) <http://www.day.com/>

        Co-founder, The Apache Software Foundation
        (fielding@...) <http://www.apache.org/>
      Your message has been successfully submitted and would be delivered to recipients shortly.