[5036] in java-interest
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