Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
How to use objects : code and concepts
Gast H., Addison-Wesley Professional, New York, NY, 2016. 832 pp. Type: Book (978-0-321995-54-4)
Date Reviewed: Feb 21 2017

Object orientation was developed and has evolved as an effective software development methodology to model the complexities of real-life phenomena and outperform other legacy methods, which were lagging behind complex and ever-increasing requirements. Naturally, complex relations among defined objects were also exhibited in the software structure and architecture, and it became obvious that responding to those complicated requirements would require sophisticated environments and tools.

This book is an amalgam of practical experience and theoretical expertise to mitigate the above-mentioned worriment. Two mind streams can be recognized: first is the proposal of a new conceptual model and theory; second is guiding expertise and transfer of experience. Both offer a great deal for a conceptual design framework.

Part 1, three chapters, discusses the primitive elements of the Java language, including their interrelations and object-oriented connection relations, inheritance, and polymorphism with a conceptual view. The provided view is innovative with great ideas.

Software reliability and correctness is the main theme of the second part, the key section of the book. By propounding the meaning of contract, defining its lemmas and design by contract principles, a new pattern is drawn for imposing durability of software correctness. Assertions and variants are introduced to prevent the probable destructive operations at object interconnections and guarantee the closure and consistency of the internal structures of the objects. In the complicated network of collaborating objects, not only the inter-influence of objects is described and their probable catastrophic effects explained, but the applicability of the variants at different events to prevent these issues is also illustrated. To gain these insights, one may have to read this part many times. Plenty of remarks and topics concerned with object-oriented module design can be extracted.

Part 3 addresses event-driven programming. The interactive nature of user interfaces is appropriately utilized to describe this technology. With the dissection of standard widget tools (SWT), the relation among the widgets and widget tree is explained. Attractive thread coding and parallelism implementation for higher event-based dynamism is demonstrated. With an emphasis on separation between the business logic, model, and user interface, the model-view-controller (MVC) pattern is discussed. Finally, based on different invocation themes at user interface components, a state machine model is proposed to implement contract-like software correctness mechanisms for the coding of widget interactivity.

Software design has always been a complicated and challenging task, embedding requirements into software components. In addition to covering preliminary requirements, the book considers non-functional ones, like extendability, scalability, and reusability, with simplicity as the optimal goal. Theorizing the design of software systems with well-formed small classes that are supposed to collaborate in a well-defined manner with easy maintenance is the main objective of Part 4. The presented idea has been composed under the name of responsibility-driven design. Object exploration, atomic obligation assignment, object relation hierarchy detection, and topology definition lemmas are the most valuable topics in this part. The last chapter of the book is dedicated to a key subject: “Design Strategies.” It discusses how to respond to the contradictory requirements of a software system and its structure.

The chosen topics and layout reflect the author’s proficiency. The book is a great resource for object-oriented programmers and designers with at least mid-level expertise. It is strongly recommended for both theoretical study and as a practical reference.

More reviews about this item: Amazon

Reviewer:  Mohammad Sadegh Kayhani Pirdehi Review #: CR145071 (1705-0238)
Bookmark and Share
  Featured Reviewer  
 
Object-Oriented Programming (D.1.5 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Object-Oriented Programming": Date
Object-oriented programming systems, languages, and applications
Paepcke A.  Object-oriented programming systems, languages, and applications,Phoenix, AZ,Oct 6-Oct 11, 1991,1991. Type: Whole Proceedings
Oct 1 1992
Object lifecycles
Shlaer S., Mellor S., Yourdon Press, Upper Saddle River, NJ, 1992. Type: Book (9780136299400)
Apr 1 1993
Object-oriented programming
Voss G., Osborne/McGraw-Hill, Berkeley, CA, 1991. Type: Book (9780078816826)
Oct 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy