[5036] in java-interest

home help back first fref pref prev next nref lref last post

Re: Observable problems

daemon@ATHENA.MIT.EDU (David Geary)
Fri Jan 26 14:08:59 1996

Date: Fri, 26 Jan 1996 09:06:28 -0700
From: David.Geary@Central.Sun.COM (David Geary)
To: chris@telesph.com
Cc: java-interest@java.Eng.Sun.COM

Hi Chris,
 
> Making the buttons be Observable strikes me as wrong -- it seems too passive --
> but it would allow me to attach new algortyhm objects to a button.

  It also allows you to associate the button with algorithm objects without
the button having specific knowledge of the alogorithm objects which it 
notifies.

> Bottom line is I want a button that can send data to one or more objects which
> will be created and destroyed independent of the button.

  The bottom line is that you want the button to notify objects, without
hardcoding the objects to be notified.  You don't want to tightly couple
the button to the algorithm objects.

  This is clearly a valid and appropriate use of the Observer pattern.

  Note that the Observer pattern (unlike the related Model/View/Controller)
does not restrict observers to view objects and observables to model objects.

> I hope this is clear. I'm playing with JAVA mainly to learn about OO and in the
> hopes of getting a high paying, glamourous, exciting, but meaningfull job.

  Java's a good place to start.  I'd recommend that you get ahold of
'Design Patterns' by Gamma/Helm/Johnson/Vlissides, and take a look at the 
discussion of MVC and the Observer pattern.

  Attached below are some reviews of OO books.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 David Geary                                   "If she floats then she is not
 geary@rmtc.Central.Sun.COM                     A witch like we had thought" 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                                 OO Reading List
                                 -- ------- ----

--------------------------------------------------------------------------------
Title:      Object Oriented Software Construction
Author:     Bertrand Meyer
ISBN:       0-13-629049-3

Audience:   Software developers interested in OO principles

Review:     Arguably the classic OO text; certainly one of the first of
            the many books currently available on the subject.

            Bertrand Meyer is the father of Eiffel - a pure, statically
            type-checked OO language (pure meaning everything's an object).  
            Meyer's concern with software correctness leads to many
            insightful discussions concerning exception handling, pre and post
            conditions and invariants, assertions, and viewing methods
            as contracts between a supplier and consumer.
            
            The book contains a heavy Eiffel slant, and therefore as much
            as 1/3 of the book is fairly irrelevant if you are not going
            to be using Eiffel.  In spite of this, however, the remaining
            portions of the book are easily worth worth the price for the
            entire 3/3.

Recommend:  Buy it, read it, live it.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      An Introduction to Object-Oriented Programming
Author:     Timothy Budd
ISBN:       0-201-54709-0

Audience:   Software developers interested in OO principles

Review:     Timothy Budd is a professor at Oregon State University, and is
            by far one of the best writers of technical books around.

            The book is extremely easy to read, and Budd presents an 
            interesting every-day life analogy of the OO paradigm in one
            of the early chapters.

            Budd also presents examples in Smalltalk, Object Pascal (well
            hey, he's not perfect ;-)), C++, and Objective-C.  While the
            technique of presenting examples in different OOPLs is not
            unique, Budd does an excellent job of contrasting the different 
            mechanisms and design techniques appropriate for each language.

Recommend:  One of the best introductory OO texts around. 
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Object Oriented Programming
Author:     Brad Cox
ISBN:       0-201-10393-1

Audience:   Software developers interested in OO principles

Review:     Another classic OO text written by Brad Cox who is the father of 
            Objective-C, the language of choice under NEXTSTEP.

            Brad has a more pragmatic slant towards OO; he's more interested
            in promoting the development of 'Software Integrated Circuits' 
            than the theological issues of computer languages.
            
            Brad also introduces the idea of 'surface area' and offers an
            interesting analogy between the Egyptian pyramid building and 
            software development.

            Brad's book, like Bertrand Meyer's OOSC, devotes a fair chunk
            to the language of the author (Objective-C).  However, it is 
            interesting to note that Meyer's 'fair chunk' of Eiffel covers 
            aspects of the Eiffel language, while Brad's coverage of 
            Objective-C is mostly concerned with classes implemented in 
            the Objective-C class library.
           
            Finally, Objective-C is a poor man's Smalltalk.  Actually, it
            is an admittedly unabashed ripoff of Smalltalk concepts.  As
            a result, the book delves into both Smalltalk and it's
            implementation, along with Objective-C's implementation. 

Recommend:  Debunk static typing, get a slightly different
            perspective on OO, and learn alot about Smalltalk, all for
            the price of one book!

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Object-Oriented Analysis And Design (With Applications)
Author:     Grady Booch
ISBN:       0-8053-5340-2

Audience:   Software developers interested in OO principles.

Review:     Grady managed to write what is arguably the most popular OOA/D book
            in his first edition.  A second edition is also out which has
            enough new material to make it worth shelling out $.

            The 2nd edition concentrates on C++, while the first edition
            presented examples in several OO languages, and has added 
            chapters on framework development, client/server computing and
            AI.

Recommend:  Booch not only has the best looking OO diagrams, he's also got
            one of the best texts around.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Object-Oriented Modeling And Design
Author:     Rumbaugh, Blaha, Premerlani, Eddy, Lorensen
ISBN:       0-13-629841-9

Audience:   Software developers interested in OO principles.

Review:     Yet Another Book on OO Modeling, Rumbaugh's was one of the original
            texts on the subject.  Rumbaugh's diagramming and modeling
            methodology is an extension of Entity-Relationship (ER) modeling.

            Rumbaugh, nonetheless includes some material not usually covered
            by subsequent OO texts, such as:  mapping object models to 
            relational databases, implementing OO concepts in non-OO languages,
            and implementing associations as objects.  He also includes a
            chapter on 'Programming Style' - an area often neglected in other
            OO texts.

Recommend:  This is a classic; it's a prerequisite for the OO brown belt.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Object-Oriented Software Engineering
            (A Use Case Driven Approach)

Author:     Ivar Jacobson
ISBN:       0-201-54435-0

Audience:   Software developers interested in OO principles.

Review:     This highly acclaimed text presents the innovative use-case design
            methodology, instead of sugar coating the same old OO concepts with
            yet another diagramming technique (not that anyone does that).

            Use case design involves designing software systems based on 
            scenarios by which users will use the system.  Jacobsen also 
            suggests that use cases themselves should be objects.

            Jacobsen also presents an interesting slant on Smalltalk's MVC
            (Model/View/Controller) paradigm:  Entity/Controller/Interface
            objects (EIC).  While EIC strives to attain the same desired
            results as MVC it is actually a much different methodology for
            splitting applications into generic categories of classes.

Recommend:  A fresh perspective on OO design, this book is a must read.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Object-Oriented Analysis & Design
Author:     Martin/Odell
ISBN:       0-13-630245-9

Audience:   Software developers interested in OO principles.

Review:     This text presents the infamous(?) Ptech methodology, which is
            widely acknowledged as the ugliest OO diagramming technique in
            existence.

            With not much innovation regarding OO design, this book 
            emphasizes the need for CASE tools with nearly every turn of
            the page (perhaps it's no coincidence that a company (ADT) offers
            a CASE tool which uses Ptech as it's foundation).

Recommend:  If you can't get enough OO texts, or that $50.00 is burning a
            hole in your pocket, then this is for you.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Design Patterns - Elements of Reusable Object-Oriented Software
Author:     Gamma, Helm, Johnson, Vlissides
ISBN:       0-201-63361-2

Audience:   OO software developers.

Review:     A design pattern is a description of collaborating objects or
            classes which solve a general design problem.  The authors
            discuss pattern usage in the design of a document editor,
            and then go on to catalog 23 patterns.

            Patterns have long existed in other disciplines, usually in
            the form of some sort of handbook of design solutions to
            problems which reoccur in the context of the discipline.

            The patterns presented in the book reveal design techniques 
            used by experienced OO developers; in fact each pattern is
            accompanied by a list of projects which have successfully
            used the pattern, along with the advantages and disadvantages
            and some example code which implements the pattern in a
            particluar context.

Recommend:  This is the book of the hour; the OO world is abuzz over
            patterns, and with good reason.  The book is extremely well
            written, and the pattern descriptions are thorough and 
            consistent.  You can't afford to be without this book.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Designing Object-Oriented Software
Author:     Wirfs-Brock, Wilkerson, Wiener
ISBN:       0-13-629825-7

Audience:   OO software developers.

Review:     Introducing 'responsibility-driven design' and 'CRC cards',
            the authors present a simple methodology with excellent
            advice and design examples.  Although the authors view
            design from a Smalltalk perspective, their methodology
            is just as applicable to C++ developers.
            
Recommend:  This is one of the best of the classic OO texts.  No matter
            what level of OO experience you possess, this book is likely
            to provide some insights.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Title:      Object-Oriented Programming
Author:     Peter Coad / Jill Nicola
ISBN:       0-13-032616-X

Audience:   Software developers interested in OO principles.

Review:     This book attempts what others do not dare to try; present OO
            designs in terms of incrementally developing real-world (although
            contrived) examples.

            The good part of this book is that the authors intentionally make 
            typical design mistakes, and then incrementally fix them while 
            explaining their reasoning.

            The bad part is that this book is so sickly-sweet-cute that 
            it's almost unbearable.

Recommend:  Good insight into OOD, Smalltalk and C++, if you can stomach it.
--------------------------------------------------------------------------------

-
This message was sent to the java-interest mailing list
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post