Buy Used
Used - Good See details
$4.54 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Have one to sell? Sell yours here
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns: The Demeter Method with Propagation Patterns
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns: The Demeter Method with Propagation Patterns [Hardcover]

Karl Lieberherr (Author)
3.0 out of 5 stars  See all reviews (4 customer reviews)


Available from these sellers.



Book Description

Pws Series in Computer Science August 28, 1995
This text addresses the concept of adaptive object-oriented software design.

Product Details

  • Hardcover: 656 pages
  • Publisher: Pws Pub Co; 1st edition (August 28, 1995)
  • Language: English
  • ISBN-10: 053494602X
  • ISBN-13: 978-0534946029
  • Product Dimensions: 9 x 6 x 1 inches
  • Shipping Weight: 1.4 pounds
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Best Sellers Rank: #4,100,846 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

4 Reviews
5 star:
 (1)
4 star:
 (1)
3 star:    (0)
2 star:
 (1)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.0 out of 5 stars (4 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

6 of 7 people found the following review helpful:
2.0 out of 5 stars Vague idea, poor presentation, September 3, 1999
By A Customer
This review is from: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns: The Demeter Method with Propagation Patterns (Hardcover)
The only reason I wouldn't tell you to completely ignore this book is that its an interesting area, worthy of research, and that very few other researchers have been as ambitious as Lieberherr in moving beyond OO. Unfortunately apart from highlighting the problems of OO successfully, he singularly failed to convince me of the adaptvie OO approach. Maybe there's something in there of merit, but I don't feel like wasting too much time separating the chaff from the wheat :(
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful:
4.0 out of 5 stars CODASYL + Aspects = Adaptive?, September 12, 2008
Amazon Verified Purchase(What's this?)
This review is from: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns: The Demeter Method with Propagation Patterns (Hardcover)
The Law of Demeter has long been accepted as a proven way of increasing code's reliability and maintainability. This book develops the Law's ideas far more fully, codifies them in tools that supplement C++, and presents them as a textbook for an advance OO or software engineering course.

The Adaptive idea addresses two problems endemic to OO software. The first problem is software's brittleness. The authors identify structural "leakage" as a major cause of this problem - the spread of knowledge of one class's structure into the classes around it. That makes change riskier and more difficult, since any change within some class has some chance of requiring matching changes to other modules, in an ever-expanding ripple. The second problem addressed arises in trying to fix the first. Rather than expose its internals, a module can export methods that dispatch service requests to contained objects, in chains that can become long enough to affect performance. Flocks of these mini-methods bloat the classes that contain them, and also constrain the kinds of data structure traversals possible.

Adaptiveness starts with the "class dictionary," the map of classes in a program with the aggregation and subclassing relationships between them, represented in pre-UML notations. This brings to mind the CODASYL network-oriented databases that preceded the Relational revolution in the 1980s. That model meshes nicely with the Visitor design pattern, but adds the possibility of many link-dependent kinds of traversals of traversals of subsets inspired by the rich semantics of CODASYL database queries. The Visitor pattern requires each class to mediate traversal of its own internals, implying changes to potentially every class for each new kind of traversal. Adaptive software adds a query language to the code (which could have been done in a reflective framework). This not only centralizes each kind of traversal, but adds implicit rules and constraints that avoid the need to name every class in every traversal. As a result, one traversal rule keeps working even when massive changes alter the shape of the data network being traversed.

The Visitor objects, code fragments that execute at each node in the network, appear in the traversal definitions, not in the data objects themselves - in other words, data objects need not implement answers to every question that might be asked of them. Given a few low-level primitives in each data object, service requests are composed almost as objects themselves. This gives the Aspect-oriented flavor of Adaptive code. The big difference is that Aspect-oriented cross-cuts typically address the service entry points in each object. In contrast, Adaptive code makes its cross-cuts at the connections between objects. Instead of addressing just individual entry points, this adds the context sensitivity of objects subsidiary to specific others, or to wild-carded traversals of object networks - a real improvement in expressive power.

Adaptive software has been tried a few times commercially, with supposedly good results, but has not caught on. It's a bit "out there," would add too many new concepts to code, and would probably impose too many restrictions for most OO programmers' comfort - even if those restriction improve the -ilities of the code. Adaptive queries' wide-ranging effects also work against the Agile practice of testing isolated units, since Adaptiveness inherently handles broad and loosely-specified networks of objects. The Adaptive tools remain research oddities, adventurous and exclusive developments of single ideas rather. Wider acceptance would require the ideas to appear in building-block form so they could be incorporated into complex software development flows built around widely accepted tools. Many of the concepts appear useful; I'll probably adapt them to some kinds of reflective traversals of object hierarchies. On the whole, however, I'll file Adaptive methodology in the cabinet of software engineering curiosities.

-- wiredweird
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1.0 out of 5 stars Obscure programming methodology with hardly any takers, September 1, 1999
By A Customer
This review is from: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns: The Demeter Method with Propagation Patterns (Hardcover)
Demeter is a programming methodology where the "structure" of the program is separated from its "actions".

The structure is specified in a manner similar to language grammars and the actions which are called propagation patterns are written as traversals.

Unfortunately the methodology makes programming more complicated. The abstraction methods (class dictionary and propagation patterns) are arcane and not understandable to anyone other than a CS researcher with no industry experience.

Programming the Demeter way is not of much use unless you also have the demeter software to go with it. They tried to hawk it commercially some time ago but it did not succeed.

Instead of this book I suggest you look at "Structure and Interpretation of Computer Programs" for a serious yet eminently practical introduction to computing and the paradigms of computing.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews


Only search this product's reviews



Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Create a Listmania! list



Look for Similar Items by Category


Look for Similar Items by Subject