Navigating C++ and Object-oriented Design

Navigating C++ and Object-oriented Design

Author: Paul Anderson

Publisher: Prentice Hall Professional

Published: 1998

Total Pages: 828

ISBN-13: 9780135327487

DOWNLOAD EBOOK

This comprehensive, practical tutorial helps programmers understand both C++ and object-oriented design methodologies, so they can write C++ that truly meets its potential. This text incorporates the newer language features, including templates and exception handling, and explains how to apply C++ language constructs, design guidelines, and object-oriented methodology to solve real world problems.


Modern C++ Design

Modern C++ Design

Author: Andrei Alexandrescu

Publisher: Addison-Wesley

Published: 2001-02-13

Total Pages: 352

ISBN-13: 0133387615

DOWNLOAD EBOOK

Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. This book introduces the concept of generic components–reusable design templates that produce boilerplate code for compiler consumption–all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include: Policy-based design for flexibility Partial template specialization Typelists–powerful type manipulation structures Patterns such as Visitor, Singleton, Command, and Factories Multi-method engines For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution. In addition, an accompanying Web site, http://www.awl.com/cseng/titles/0-201-70431-5, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project. Get a value-added service! Try out all the examples from this book at www.codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser.


Design Patterns in Modern C++

Design Patterns in Modern C++

Author: Dmitri Nesteruk

Publisher: Apress

Published: 2018-04-18

Total Pages: 312

ISBN-13: 1484236033

DOWNLOAD EBOOK

Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs. Design Patterns in Modern C++ also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability. What You Will Learn Apply design patterns to modern C++ programming Use creational patterns of builder, factories, prototype and singleton Implement structural patterns such as adapter, bridge, decorator, facade and more Work with the behavioral patterns such as chain of responsibility, command, iterator, mediator and more Apply functional design patterns such as Monad and more Who This Book Is For Those with at least some prior programming experience, especially in C++.


Object-Oriented Analysis, Design and Implementation

Object-Oriented Analysis, Design and Implementation

Author: Brahma Dathan

Publisher: Springer

Published: 2015-10-29

Total Pages: 479

ISBN-13: 3319242806

DOWNLOAD EBOOK

The second edition of this textbook includes revisions based on the feedback on the first edition. In a new chapter the authors provide a concise introduction to the remainder of UML diagrams, adopting the same holistic approach as the first edition. Using a case-study-based approach for providing a comprehensive introduction to the principles of object-oriented design, it includes: 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 The focus of the book is on implementation aspects, without which the learning is incomplete. This is achieved through the use of case studies for introducing the various concepts of analysis and design, ensuring that the theory is never separate from the implementation aspects. All the main case studies used in this book have been implemented by the authors using Java. An appendix on Java provides a useful short tutorial on the language.


21st Century C

21st Century C

Author: Ben Klemens

Publisher: "O'Reilly Media, Inc."

Published: 2012-10-15

Total Pages: 297

ISBN-13: 1449344666

DOWNLOAD EBOOK

Throw out your old ideas about C and get to know a programming language that’s substantially outgrown its origins. With this revised edition of 21st Century C, you’ll discover up-to-date techniques missing from other C tutorials, whether you’re new to the language or just getting reacquainted. C isn’t just the foundation of modern programming languages; it is a modern language, ideal for writing efficient, state-of-the-art applications. Get past idioms that made sense on mainframes and learn the tools you need to work with this evolved and aggressively simple language. No matter what programming language you currently favor, you’ll quickly see that 21st century C rocks. Set up a C programming environment with shell facilities, makefiles, text editors, debuggers, and memory checkers Use Autotools, C’s de facto cross-platform package manager Learn about the problematic C concepts too useful to discard Solve C’s string-building problems with C-standard functions Use modern syntactic features for functions that take structured inputs Build high-level, object-based libraries and programs Perform advanced math, talk to internet servers, and run databases with existing C libraries This edition also includes new material on concurrent threads, virtual tables, C99 numeric types, and other features.


Data Communications Using Object-oriented Design and C++

Data Communications Using Object-oriented Design and C++

Author: Anil Ananthaswamy

Publisher: McGraw-Hill Companies

Published: 1995

Total Pages: 344

ISBN-13:

DOWNLOAD EBOOK

This example-laden book/disk combination is a practical resource for communications professionals who are interested in the nuts and bolts of implementing data communications systems using object-oriented design in C++. The author illustrates such fundamental data communications concepts as layering, flow control, sliding window protocols, and error detection and recovery.


Designing Object-oriented C++ Applications Using the Booch Method

Designing Object-oriented C++ Applications Using the Booch Method

Author: Robert C. Martin

Publisher:

Published: 1995

Total Pages: 568

ISBN-13:

DOWNLOAD EBOOK

For senior/graduate level courses on Object Oriented Design using C++, and the Booch (BC) - OOD book. A practical, problem-solving approach to the fundamental concepts of Object Oriented Design and their application using C++. This book is written for the "engineer in the trenches". It is a serious guide for practitioners of Object-Oriented design. The style is narrative, and accessible for the beginner, and yet the topics are covered in enough depth to be relevant to the consumate designer. The principles of OOD explained, one by one, and then demonstrated with numerous examples and case studies.


Object-Oriented Data Structures Using Java

Object-Oriented Data Structures Using Java

Author: Nell Dale

Publisher: Jones & Bartlett Publishers

Published: 2012

Total Pages: 823

ISBN-13: 1449613543

DOWNLOAD EBOOK

Continuing the success of the popular second edition, the updated and revised Object-Oriented Data Structures Using Java, Third Edition is sure to be an essential resource for students learning data structures using the Java programming language. It presents traditional data structures and object-oriented topics with an emphasis on problem-solving, theory, and software engineering principles. Beginning early and continuing throughout the text, the authors introduce and expand upon the use of many Java features including packages, interfaces, abstract classes, inheritance, and exceptions. Numerous case studies provide readers with real-world examples and demonstrate possible solutions to interesting problems. The authors' lucid writing style guides readers through the rigor of standard data structures and presents essential concepts from logical, applications, and implementation levels. Key concepts throughout the Third Edition have been clarified to increase student comprehension and retention, and end-of-chapter exercises have been updated and modified. New and Key Features to the Third Edition: -Includes the use of generics throughout the text, providing the dual benefits of allowing for a type safe use of data structures plus exposing students to modern approaches. -This text is among the first data structures textbooks to address the topic of concurrency and synchonization, which are growing in the importance as computer systems move to using more cores and threads to obtain additional performance with each new generation. Concurrency and synchonization are introduced in the new Section 5.7, where it begins with the basics of Java threads. -Provides numerous case studies and examples of the problem solving process. Each case study includes problem description, an analysis of the problem input and required output, and a discussion of the appropriate data structures to use. -Expanded chapter exercises allow you as the instructor to reinforce topics for your students using both theoretical and practical questions. -Chapters conclude with a chapter summary that highlights the most important topics of the chapter and ties together related topics.


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

Published: 1995

Total Pages: 402

ISBN-13:

DOWNLOAD EBOOK

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.


C + C++

C + C++

Author: Allen I. Holub

Publisher: McGraw-Hill Companies

Published: 1992

Total Pages: 454

ISBN-13:

DOWNLOAD EBOOK

This book provides instruction for using C in an object-oriented fashion. The book covers the problems likely to arise in a C++ application, explains why C++ is inappropriate for some object-oriented applications, and shows how to do real object-oriented programming (based on a multitasking model) in a C or C++ environment.