Daniel Duffy
C++ author, trainer
- Joined
- 10/4/07
- Messages
- 10,720
- Points
- 648
Author: Daniel J. Duffy, Datasim Education BV
Publisher: Datasim Press
Multiparadigm Software Design in C++, Python and C# delivers a repeatable and step-by-step approach to software design. We address the software lifecycle from problem description through to design and implementation in C++, Python and C#. The focus is on rigor, traceability, correct design principles and relevance to real-life applications.
The major phases re:
. Problem description, analysis, logical design and system decomposition by partitioning a system into loosely coupled modules. An optimisation step is to identify a system to be built as a special case of a domain architecture, leveraging reusability.
. Detailed design: Mapping high-level abstractions to technology-dependent design constructs that address product quality issues such as efficiency, functionality, interoperability and maintainability, for example. We apply language-independent design and system patterns by integrating them into a modular design to produce standardised UML design blueprints.
. The ability to map design blueprints to C++, C# or Python using a combination of the object, functional and generic programming models. In this way we can realise multiparadigm designs and implementations. It is also at this stage that the software system patterns are integrated into the design to promote software maintainability.
Special features that should appeal to a wide of readers are:
. A defined and repeatable state-of-the-art software process described in twenty chapters.
. Object-oriented, functional and generic (template) programming models.
. Modern C++, Python and C# best practices.
. Improved and extended industry-standard system and design patterns.
. From motivational examples to full software prototypes.
. All code in each chapter is machine-readable.
. Incremental learning process: each chapter has detailed exercises and mini-projects.
In short, this book is the perfect companion for software developers who wish write applications using proven and repeatable engineering principles.
*** Contents ***
Chapter 1 Executive Overview and Roadmap
Chapter 2 Fundamentals of Object-Oriented Programming (OOP)
Chapter 3 Fundamentals of Functional Programming
Chapter 4 Fundamentals of Generics
Chapter 5 Essential C# Syntax in Detail
Chapter 6 Essential Features in Modern C++
Chapter 7 Beyond OOP: System and Functional Decomposition Fundamentals
Chapter 8 An Introduction to Domain Architectures and Multiparadigm Software Design
Chapter 9 Access Control System and Proxy Patterns
Chapter 10 Motivating GOF Design Patterns using Python: Creational and Structural Patterns
Chapter 11 Motivating GOF Design Patterns Part II
Chapter 12 Modern Design Patterns and Language Concepts in C#
Chapter 13 Event Patterns
Chapter 14 Advanced Structural Models and Complex Object Networks
Chapter 15 Option Pricing Applications using the Monte Carlo Method
Chapter 16 Command and Command Processor Design Patterns, Part I
Chapter 17 Command and Command Processor Design Patterns, Part II
Chapter 18 Multi-threaded Command Processor and Active Objects
Chapter 19 Type Traits, Reflection Patterns and C++ Concepts
Chapter 20 One Step Beyond: Component-based Software Development
Publisher: Datasim Press
Multiparadigm Software Design in C++, Python and C# delivers a repeatable and step-by-step approach to software design. We address the software lifecycle from problem description through to design and implementation in C++, Python and C#. The focus is on rigor, traceability, correct design principles and relevance to real-life applications.
The major phases re:
. Problem description, analysis, logical design and system decomposition by partitioning a system into loosely coupled modules. An optimisation step is to identify a system to be built as a special case of a domain architecture, leveraging reusability.
. Detailed design: Mapping high-level abstractions to technology-dependent design constructs that address product quality issues such as efficiency, functionality, interoperability and maintainability, for example. We apply language-independent design and system patterns by integrating them into a modular design to produce standardised UML design blueprints.
. The ability to map design blueprints to C++, C# or Python using a combination of the object, functional and generic programming models. In this way we can realise multiparadigm designs and implementations. It is also at this stage that the software system patterns are integrated into the design to promote software maintainability.
Special features that should appeal to a wide of readers are:
. A defined and repeatable state-of-the-art software process described in twenty chapters.
. Object-oriented, functional and generic (template) programming models.
. Modern C++, Python and C# best practices.
. Improved and extended industry-standard system and design patterns.
. From motivational examples to full software prototypes.
. All code in each chapter is machine-readable.
. Incremental learning process: each chapter has detailed exercises and mini-projects.
In short, this book is the perfect companion for software developers who wish write applications using proven and repeatable engineering principles.
*** Contents ***
Chapter 1 Executive Overview and Roadmap
Chapter 2 Fundamentals of Object-Oriented Programming (OOP)
Chapter 3 Fundamentals of Functional Programming
Chapter 4 Fundamentals of Generics
Chapter 5 Essential C# Syntax in Detail
Chapter 6 Essential Features in Modern C++
Chapter 7 Beyond OOP: System and Functional Decomposition Fundamentals
Chapter 8 An Introduction to Domain Architectures and Multiparadigm Software Design
Chapter 9 Access Control System and Proxy Patterns
Chapter 10 Motivating GOF Design Patterns using Python: Creational and Structural Patterns
Chapter 11 Motivating GOF Design Patterns Part II
Chapter 12 Modern Design Patterns and Language Concepts in C#
Chapter 13 Event Patterns
Chapter 14 Advanced Structural Models and Complex Object Networks
Chapter 15 Option Pricing Applications using the Monte Carlo Method
Chapter 16 Command and Command Processor Design Patterns, Part I
Chapter 17 Command and Command Processor Design Patterns, Part II
Chapter 18 Multi-threaded Command Processor and Active Objects
Chapter 19 Type Traits, Reflection Patterns and C++ Concepts
Chapter 20 One Step Beyond: Component-based Software Development