Object-Oriented Design Choices

Object-Oriented Design Choices
Author: Adair Dingle
Publisher: CRC Press
Total Pages: 328
Release: 2021-01-19
Genre: Computers
ISBN: 1000338088

Do modern programming languages, IDEs, and libraries make coding easy? Maybe, but coding is not design. Large-scale or expensive apps clearly require evaluation of design choices. Still, software design directly impacts code reuse and longevity even for small-scale apps with limited overhead. This text evaluates and contrasts common object-oriented designs. A given problem may have many solutions. A developer may employ different design techniques – composition, inheritance, dependency injection, delegation, etc. – to solve a particular problem. A skilled developer can determine the costs and benefits of different design responses, even amid competing concerns. A responsible developer documents design choices as a contract with the client, delineating external and internal responsibilities. To promote effective software design, this book examines contractual, object-oriented designs for immediate and sustained use as well as code reuse. The intent of identifying design variants is to recognize and manage conflicting goals such as short versus long-term utility, stability versus flexibility, and storage versus computation. Many examples are given to evaluate and contrast different solutions and to compare C# and C++ effects. No one has a crystal ball; however, deliberate design promotes software longevity. With the prominence of legacy OO code, a clear understanding of different object-oriented designs is essential. Design questions abound. Is code reuse better with inheritance or composition? Should composition rely on complete encapsulation? Design choices impact flexibility, efficiency, stability, longevity, and reuse, yet compilers do not enforce design and syntax does not necessarily illustrate design. Through deliberate design, or redesign when refactoring, developers construct sustainable, efficient code.

Object Design

Object Design
Author: Rebecca Wirfs-Brock
Publisher: Addison-Wesley Professional
Total Pages: 420
Release: 2003
Genre: Computers
ISBN: 9780201379433

Object technology pioneer Wirfs-Brock teams with expert McKean to present a thoroughly updated, modern, and proven method for the design of software. The book is packed with practical design techniques that enable the practitioner to get the job done.

What Every Programmer Should Know about Object-oriented Design

What Every Programmer Should Know about Object-oriented Design
Author: Meilir Page-Jones
Publisher: Dorset House Publishing Company, Incorporated
Total Pages: 402
Release: 1995
Genre: Computers
ISBN:

Introduction: What does it mean to be object-oriented, anyway? Object-orientation - Who ordered that? Object-oriented design notation. The basic notation for classes em methods. Inheritance and aggregation diagrams. The object-communication diagram. State-transition diagrams. Additional OODN diagrams. The principles of object-oriented design: Encapsulation and connascence. Domains, encumbrance, and cohesion. Properties of classes and subclasses. The perils of inheritance and polymorphism. Class interfaces. Appendix A: Checklist for an object-oriented design walkthrough. Appendix B: The Object-oriented design owner's manual. Appendix C: Blitz guide to object-oriented terminology.

Object Design Style Guide

Object Design Style Guide
Author: Matthias Noback
Publisher: Simon and Schuster
Total Pages: 393
Release: 2019-12-23
Genre: Computers
ISBN: 1638350191

”Demystifies object-oriented programming, and lays out how to use it to design truly secure and performant applications.” —Charles Soetan, Plum.io Key Features Dozens of techniques for writing object-oriented code that’s easy to read, reuse, and maintain Write code that other programmers will instantly understand Design rules for constructing objects, changing and exposing state, and more Examples written in an instantly familiar pseudocode that’s easy to apply to Java, Python, C#, and any object-oriented language Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Well-written object-oriented code is easy to read, modify, and debug. Elevate your coding style by mastering the universal best practices for object design presented in this book. These clearly presented rules, which apply to any OO language, maximize the clarity and durability of your codebase and increase productivity for you and your team. In Object Design Style Guide, veteran developer Matthias Noback lays out design rules for constructing objects, defining methods, and much more. All examples use instantly familiar pseudocode, so you can follow along in the language you prefer. You’ll go case by case through important scenarios and challenges for object design and then walk through a simple web application that demonstrates how different types of objects can work together effectively. What You Will Learn Universal design rules for a wide range of objects Best practices for testing objects A catalog of common object types Changing and exposing state Test your object design skills with exercises This Book Is Written For For readers familiar with an object-oriented language and basic application architecture. About the Author Matthias Noback is a professional web developer with nearly two decades of experience. He runs his own web development, training, and consultancy company called “Noback’s Office.” Table of Contents: 1 ¦ Programming with objects: A primer 2 ¦ Creating services 3 ¦ Creating other objects 4 ¦ Manipulating objects 5 ¦ Using objects 6 ¦ Retrieving information 7 ¦ Performing tasks 8 ¦ Dividing responsibilities 9 ¦ Changing the behavior of services 10 ¦ A field guide to objects 11 ¦ Epilogue

Object-oriented Design

Object-oriented Design
Author: Peter Coad
Publisher: Prentice Hall
Total Pages: 236
Release: 1991
Genre: Computers
ISBN:

Notations and strategies are delivered for: designing the problem domain component; designing the human interaction component; designing the task management component; designing the data management component; applying object-oriented design with object-oriented programming language; applying object-oriented design criteria; and selecting CASE for object-oriented design.

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design
Author: Sarnath Ramnath
Publisher: Springer Science & Business Media
Total Pages: 485
Release: 2010-12-06
Genre: Computers
ISBN: 1849965226

Object-oriented analysis and design (OOAD) has over the years, become a vast field, encompassing such diverse topics as design process and principles, documentation tools, refactoring, and design and architectural patterns. For most students the learning experience is incomplete without implementation. This new textbook provides a comprehensive introduction to OOAD. The salient points of its coverage are: • A sound footing on object-oriented concepts such as classes, objects, interfaces, inheritance, polymorphism, dynamic linking, etc. • A good introduction to the stage of requirements analysis. • Use of UML to document user requirements and design. • An extensive treatment of the design process. • Coverage of implementation issues. • Appropriate use of design and architectural patterns. • Introduction to the art and craft of refactoring. • Pointers to resources that further the reader’s knowledge. All the main case-studies used for this book have been implemented by the authors using Java. The text is liberally peppered with snippets of code, which are short and fairly self-explanatory and easy to read. Familiarity with a Java-like syntax and a broad understanding of the structure of Java would be helpful in using the book to its full potential.

C++ Program Design

C++ Program Design
Author: James P Cohoon
Publisher: McGraw-Hill Science Engineering
Total Pages: 928
Release: 2001-08-01
Genre: Computers
ISBN: 9780072560404

This best selling text covers the fundamentals of programming and software development using C++. C++ Program Design has been developed for a CS1 course and benefits from the authors' 10 + years classroom experience. C++ Program Design adopts an objects early approach to teaching C++ and integrates the use of a graphical API, called EzWindows. Robust web site support is offered for instructors and students.

OOER '95 Object-Oriented and Entity-Relationship Modeling

OOER '95 Object-Oriented and Entity-Relationship Modeling
Author: M. Papazoglou
Publisher: Springer Science & Business Media
Total Pages: 476
Release: 1995-11-23
Genre: Computers
ISBN: 9783540606727

This volume constitutes the refereed proceedings of the 14th International Conference on Object-Oriented and Entity-Relationship Modelling, OOER '95, held in Gold Coast, Australia in December 1995. The 36 papers presented together with an invited presentation by Gio Wiederhold were selected from a total of 120 submissions. The papers are organized in sections on object design and modelling, models and languages, reverse engineering and schema transformation, behavioral modelling, non-traditional modelling, theoretical foundations, business re-engineering, integrated approaches, cooperative work modelling, temporal data modelling, federated systems design, and industrial stream papers

Practical Object-oriented Design in Ruby

Practical Object-oriented Design in Ruby
Author: Sandi Metz
Publisher: Pearson Education
Total Pages: 272
Release: 2013
Genre: Computers
ISBN: 0321721330

The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. This book focuses squarely on object-oriented Ruby application design. Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code

Foundations of Object-oriented Languages

Foundations of Object-oriented Languages
Author: Kim B. Bruce
Publisher: MIT Press
Total Pages: 416
Release: 2002
Genre: Computers
ISBN: 9780262025232

A presentation of the formal underpinnings of object-oriented programming languages.