Object Thinking

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Object Thinking - Presentation Transcript

    1. Object Thinking
    2.  
      • The Philosophy of Development
      • formalism -vs- hermeneutics
      • From Philosophy to Culture
      • mentoring, metaphor & vocabulary
      • From Culture to Practice
      • object discovery & thinking
      • Formalism/Determinism
      • (software engineering)
      • uses traditional thinking
      -vs- Hermeneutics/Postmodernism (extreme programming) uses object thinking
    3. The Object Thinking Manifesto
      • Advocacy of behavioralism
      • Antagonistic towards formalism
      • Emphasis on analysis and conceptualization
      • Philosophy of extreme programming
      • Prefers the autonomous to the autocratic
    4. The Object Thinking Manifesto
      • Better people write better code
      • - not better tools
      • “ Let there be no doubt that object-oriented design is fundamentally different than traditional structured design approaches:
      • it requires different ways of thinking about decomposition, and it produces software architectures that are largely outside the realm of the structured design culture.”
      • Grady Booch, 1991
      • “ Let there be no doubt that object-oriented design is fundamentally different than traditional structured design approaches:
      • it requires different ways of thinking about decomposition, and it produces software architectures that are largely outside the realm of the structured design culture .”
      • Grady Booch, 1991
    5. Observing the Object Difference
      • Traditional thinking
      • Object thinking
      Data Structure operationX operationY operationZ
      • Anthropomorphization
      • is the attribution of human characteristics to inanimate objects, animals, forces of nature, the unseen author of things, and others.
      • “… if the diagram is an accurate depiction of an object, what is the difference between an object and a COBOL program?”
      • “ There is none. A COBOL program encapsulates data and operations and allows communication among programs. Object development – using this model – will have a tough time being anything more than the creation of lots of tiny COBOL programs.”
    6. Object Depictions
      • Entity
      UML Customer ID# dob gender fname … getID# setID# getDOB# setDOB# … Customer id# dob gender fname lname mi honorific generational …
    7. Object Depictions Object (Class-Responsibility-Collaboration) Customer ID self describe self indicate desires make decisions confirm information
    8. Encapsulation via Properties
      • public class Customer
      • {
      • public string Name
      • {
      • get { return _name ; }
      • set
      • {
      • // validate here
      • _name = value ;
      • }
      • }
      • private string _name ;
      • }
      • Known as information hiding
      • Traditionally taught as a key precept of OO
      • But many XP advocates say they should not be tested … why?
      • Why do objects keep trying to change type?
      • Is there a better way?
    9. Self-Describing Objects
      • public class Customer
      • : Dictionary < Uri , Object >
      • { }
      • Provides a property bucket
      • Looks alien to traditional thinking
      • Violates traditional encapsulation principles
      • How is validation carried out?
    10. Self-Evaluating Rules
      • Evaluate self-describing objects at runtime
      • Promote type re-use via separation of concerns
      • Embody data validation rules, business rules, or any other constraint
    11. Demo Self-Describing Objects & Self-Evaluating Rules
      • So all my objects should be self-describing?
      • Having a hammer
      • does not make everything a nail
    12. Non-Self-Describing Objects
      • Primitives
      • bool, int, float, enum, etc.
      • Some Standards
      • html elements, xpath predicates, industry, etc.
      • Self-Describing Objects tend to be actors
    13. Issues
      • Currently no standard supporting framework
      • I am considering a CodePlex or SourceForge project
      • Limited knowledge, few publications, no examples
      • Just try googling for the key terms…
      • Steep learning curve
      • Hard to ‘unlearn’ traditional thinking
      • Few practitioners or evangelists
      • Links
      • http://del.icio.us/alan.dean/object-thinking
      • http://thoughtpad.net/alan-dean
      • Email
      • [email_address]
      • © MMVII

    + Alan DeanAlan Dean, 2 years ago

    custom

    675 views, 0 favs, 0 embeds more stats

    This is a presentation I gave a number of times to more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 675
      • 675 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 19
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories