Examines the the static and dynamic practical object design patterns, using Unified Modeling Language. Topics include object creation and destruction and other object design fundamentals, persistent objects and object-related mapping, and relationship loops. Softcover. DLC: Object-oriented methods (Computer science).
"synopsis" may belong to another edition of this title.
Dr. Yun-Tung Lau is a chief engineer at Science Application International Corporation (SAIC), and he has been involved in large-scale software architecture, design, and development for more than twelve years. Dr. Lau has served as chief architect for a wide range of software projects, including scientific computing and engineering simulation, supply chain management, product data management, and electronic commerce.
0201711613AB04062001
Programming fads, languages, and tools may come and go, but the basic concepts of object design and architecture--and the art of applying them--are timeless. Once learned, they provide a solid foundation that software developers will build on throughout their careers.
The Art of Objects offers an extensive overview of the long-standing principles of object technology, along with leading-edge developments in the field. It will give you a greater understanding of design patterns and the know-how to use them to find effective solutions to a wide range of design challenges. And because the book maintains an approach independent of specific programming languages, the concepts and techniques presented here can be applied to any object-oriented development environment.
Using the Unified Modeling Language (UML), The Art of Objects examines numerous static and dynamic practical object design patterns, illustrated by real-life case studies that demonstrate how to put the patterns to work. You will also find discussion of basic concepts of database management and persistent objects, and an introduction to advanced topics in object modeling and interface design patterns. Moving beyond the design level, the book also covers important concepts in object-oriented architecture.
Specific topics include:
Each chapter presents exercises for self-study, and integrated case studies throughout the book illustrate the implementation of key concepts. In addition, fully functional Java code samples of the design patterns and case studies are available for download from Addison-Wesley's Web site (http://www.awl.com/cseng/).
Object-oriented programming relies on programming languages. However, the concepts of objects transcend any specific programming languages. Many design patterns offer efficient modeling of static and dynamic object relationships. They can be used as the building blocks for sophisticated software systems. Similarly, at a system level, object-oriented architecture provides a lucid, high-level description of interconnected objects.
Tools may change. Programming languages may go out of favor. Yet the foundation of object design and architecture, and the art of applying it, will remain sound for a long time.
This book systematically presents the basic concepts of objects and practical object design patterns (both static and dynamic). It helps readers to gain a deep understanding of the patterns, allowing them to find design solutions quickly. In addition, the topics are forward looking, encompassing persistent objects, distributed objects, interface design patterns, XML (eXtensible Markup Language) object models, Web applications with thin clients, and so forth. Going beyond the design level, the book discusses object-oriented architecture, covering clients/servers, multi-tier systems, federations, agents, and others.
The Unified Modeling Language (UML), especially its graphic notation, is used as the primary means of presentation. The contents are independent of specific programming languages, making the book a general-purpose reference. However, many exercises do relate to certain languages (mostly Java). They help bring the readers closer to implementation and foster a concrete understanding of the underlying concepts. In addition, a wide range of real-world case studies and examples help elucidate these concepts and their practical application.
I did not use UML to specify all the details of an object design. For example, the UML Object Constraint Language is not used. In my opinion, source code with adequate inline comments is the best place to document the detailed logic of object behaviors.
This book can be used as a textbook for university or industrial training courses, or as a reference book for courses on object-oriented programming languages. This book is also suitable as a reference for mid- to advanced-level software professionals and graduate students. Many exercises are derived from actual projects. They expose readers to the full complexity of real-world systems. Organization of the Book
This book has nine chapters, including several integrated case studies throughout the book. Chapter 1 describes the basic concepts in object-oriented programming, which include object, class, association, aggregation, servant class, and inheritance. It also introduces some basic notations of UML.
Chapter 2 discusses the common patterns in static design. The focus here is on the static relationships between classes. The dynamic or time-dependent behaviors are left to later chapters. I systematically present simple and complex patterns. They allow object designers to design with patterns rather than with individual classes.
I note that the distinction between analysis and design is vague. Analysis is more on understanding the concepts in an application domain and investigating the requirements. Design is more on finding a solution and verifying that the solution fits the requirements. With a concrete understanding of the object concepts and the relationships behind the static patterns, one would naturally apply object analyses and designs in an iterative fashion. The ultimate criterion for an appropriate object design is its fitness to the requirements.
In Chapter 3 I first present the basic concepts on database management and persistent objects. I then discuss different strategies to make objects persistent, particularly those involving object-oriented databases and relational databases. I also examine object-relational mapping in detail and give a comparison between the two types of databases.
Chapter 4 introduces some advanced topics in object modeling. They include abstract classes, multiple inheritance, interfaces, inner classes, collections, packages, and components. These are extensions to the basic object concepts. I also discuss the reverse engineering of object designs and the identification of irreducible patterns, which is presented in Chapter 2.
Chapter 5 describes modeling the dynamic behavior of objects. I discuss use case analyses and object sequence diagrams. I also introduce the important concepts of client/server and distributed objects. For distributed objects, I cover interface definition, and the Common Object Request Broker Architecture (CORBA) standard and its operational mechanisms.
Then in Chapter 6 I present various interface design patterns. These patterns are intimately related to the dynamic behaviors of their constituent objects. Such behaviors are documented with sequence diagrams. I also discuss interface patterns related to CORBA objects.
In Chapter 7 I elevate the discussion to the system level. I describe various object-oriented architectures, including procedural processing systems, client/server systems, layered systems, multi-tier systems, agents, and aggregations and federations. Note that the distinction between architecture and design is not absolute. In architecture we are more concerned with the coordination between components, overall system performance, and scaling properties. In design we focus on the details within a component, an interface, or a subsystem.
Chapter 8 gives summaries and notes for the preceding chapters, whereas Chapter 9 provides answers to all exercises. The integrated case studies serve as real-life examples to illustrate the
practical applications of the concepts. They appear at the ends of various chapters, culminating in Chapter 7 with a discussion of their system architectures. Readers are highly recommended to work through them in some detail. A concrete understanding of the basic concepts can only be built through hands-on design and implementation.
Sections with an asterisk after their titles may be skipped during the first reading. They are topics with somewhat narrower interests. Readers who are primarily interested in software system architecture may proceed directly to Chapter 7, which can be read as a survey of different architectural patterns.
Finally, the appendices provide various reference information. In particular, Appendix A summarizes UML notations, followed by a quick look-up table to all object designs appearing in the main text and exercises. Appendix B provides a list of code samples for each chapter. Appendix C lists the features of various object-oriented languages. Online Resources
Fully functional code samples are available from awl/cseng/titles/0-201-71161-3/. The code samples have more than 40,000 source lines and are all written in Java. They cover nearly all examples described in the main text and most case studies. Appendix B lists the sample code for the chapters. Studying the code will help solidify the reader's understanding of the designs. Readers are encouraged to extend and enrich the sample code. Furthermore, students in courses on object-oriented programming languages may implement the designs appearing in the chapter exercises as additional exercises. 0201711613P04062001
"About this title" may belong to another edition of this title.
FREE shipping within U.S.A.
Destination, rates & speedsSeller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.35. Seller Inventory # G0201711613I3N00
Quantity: 1 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Acceptable. Item in very good condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00074538758
Quantity: 1 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in very good condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00073116272
Quantity: 1 available
Seller: HPB-Red, Dallas, TX, U.S.A.
Paperback. Condition: Good. Connecting readers with great books since 1972! Used textbooks may not include companion materials such as access codes, etc. May have some wear or writing/highlighting. We ship orders daily and Customer Service is our top priority! Seller Inventory # S_425783093
Quantity: 1 available
Seller: Goodwill of Silicon Valley, SAN JOSE, CA, U.S.A.
Condition: very_good. Supports Goodwill of Silicon Valley job training programs. The cover and pages are in very good condition! The cover and any other included accessories are also in very good condition showing some minor use. The spine is straight, there are no rips tears or creases on the cover or the pages. Seller Inventory # GWSVV.0201711613.VG
Quantity: 1 available
Seller: BooksByLisa, Highland Park, IL, U.S.A.
Soft cover. Condition: New. First Edition. PHOTO AND VIDEO OF PAGES TAKEN TO SHOW CONDITION PRIOR TO SHIPPING; . PHOTOS EMAILED FOR MORE SPECIFICS WHEN REQUESTED; Book. Seller Inventory # 1000
Quantity: 1 available
Seller: Romtrade Corp., STERLING HEIGHTS, MI, U.S.A.
Condition: New. This is a Brand-new US Edition. This Item may be shipped from US or any other country as we have multiple locations worldwide. Seller Inventory # ABNR-143073
Quantity: 1 available
Seller: Books Puddle, New York, NY, U.S.A.
Condition: Used. pp. xv + 363. Seller Inventory # 263116954
Quantity: 1 available
Seller: Majestic Books, Hounslow, United Kingdom
Condition: Used. pp. xv + 363 Illus. Seller Inventory # 5779525
Quantity: 1 available
Seller: Biblios, Frankfurt am main, HESSE, Germany
Condition: Used. pp. xv + 363. Seller Inventory # 183116944
Quantity: 1 available