Adaptive Object-Oriented Software: The Demeter Method
by Karl Lieberherr
Publisher: Pws Pub Co 1996
Number of pages: 651
This groundbreaking book presents a complete methodology for adaptive programming in any object-oriented language. Lieberherr's method provides a new approach to object-oriented program design that goes beyond object encapsulation and hard-coded navigation paths to achieve more flexible interactions among objects. Designers using this adaptive method work at a higher, more schematic level of abstraction to design software programs. Graph notation is used to represent the class structure of the program, and a "propagation pattern" language describes how to distribute meaningful methods (including navigation) across the program's structure. Using this method, software designers can create programs that are easily modified and adaptable as needs evolve.
Home page url
Download or read it online for free here:
by Dung Nguyen, Stephen Wong - Rice University
From the table of contents: Introduction - Objects and Classes; Polymorphism in Action; Immutable List Structure; Mutable Data Structures; Restricted Access Containers; GUI Programming; Labs; Resources - Java Syntax Primer.
by S. Demeyer, S. Ducasse, O. Nierstrasz - Elsevier Science
This book collects and distills successful techniques in planning a reengineering project, reverse-engineering, problem detection, migration strategies and software redesign. It is full of practical, hands-on reengineering knowledge and expertise.
by Dennis deChampeaux, Doug Lea, Penelope Faure - Addison-Wesley
With this book, software engineers, project managers, and tool builders will better understand the role of analysis and design in the object-oriented (OO) software development process. The emphasis is on development principles and implementation.
by Nierstrasz, Sichritzis - Prentice Hall PTR
The book looks at a range of issues, from programming languages and systems through to tools, frameworks and methods. Chapters are self-contained, with the development of ideas moving from programming language design to environments and applications.