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++.
Professional Red Teaming: Conducting Successful Cybersecurity Engagements
Use this unique book to leverage technology when conducting offensive security engagements. You will understand practical tradecraft, operational guidelines, and offensive security best practices as carrying out professional cybersecurity engagements is more than exploiting computers, executing scripts, or utilizing tools.
Developing Games on the Raspberry Pi: App Programming with Lua and LÖVE
Learn to set up a Pi-based game development environment, and then develop a game with Lua, a popular scripting language used in major game frameworks like Unreal Engine (BioShock Infinite), CryEngine (Far Cry series), Diesel (Payday: The Heist), Silent Storm Engine (Heroes of Might and Magic V) and many others. More importantly,...
Cyber Operations: Building, Defending, and Attacking Modern Computer Networks
Know how to set up, defend, and attack computer networks with this revised and expanded second edition.
You will learn to configure your network from the ground up, beginning with developing your own private virtual test environment, then setting up your own DNS server and AD infrastructure. You will continue with more...
Data Structures and Algorithms in C++
Strengthen your understanding of data structures and their algorithms for the foundation you need to successfully design, implement and maintain virtually any software system. Theoretical, yet practical, DATA STRUCUTRES AND ALGORITHMS IN C++, 4E by experienced author Adam Drosdek highlights the fundamental connection between data structures and...