Proizvod vam ne odgovara? Nema veze! Proizvode možete vratiti do 30 dana
S poklon bonom ne možete pogriješiti. Za poklon bon primatelj može odabrati bilo što iz naše ponude.
Do 30 dana za povrat
Fourteen days of drills that turn design patterns from vocabulary into judgment.
Most pattern books show you Java-shaped code and leave out the question C++ actually asks: who owns these objects, and how long do they live? This one answers it for every pattern. That is the difference between a diagram you can recite and a design you can ship.
You learn by doing, on one real project. studio is a command-line vector-drawing and report-generating application. It starts on Day 1 as a rigid hundred-line program and ends on Day 14 as a design that absorbs change. Every pattern earns its place in it rather than being bolted on.
Week one builds the foundation: what a design is judged by, object lifetime and ownership in C++, and all five SOLID principles. Week two is the twenty-three classic patterns in their three groups, then the C++ forms that reach the same flexibility with no virtual function at all, then removing designs as well as adding them.
Every pattern is presented the same way. First the change that breaks the rigid design. Then the rigid code, with the exact line you would have to edit. Then the hinge, the one abstraction that turns editing into adding. Then the code that changed. Then the cost, stated plainly, because a pattern that looks free gets used everywhere.
Every day is self-contained: numbered rules, short worked examples with real captured output and a diagram of the mechanism, then a fixed ladder of five problem sets running from recall to unassisted building. Practice problems have no answers anywhere, by design.
Week 1 - Principles
Day 1: Design, Change and Cost
Day 2: Single Responsibility and Open-Closed
Day 3: Substitution, Segregation and Inversion
Day 4: Creating Objects by Name
Day 5: Assembling, Copying and Sharing
Day 6: Wrapping, Splitting and Nesting
Day 7: Adding, Hiding, Deferring and Sharing
Week 2 - Patterns and judgment
Day 8: Interchangeable Behaviour
Day 9: Objects That Talk to Each Other
Day 10: Mode, Traversal and History
Day 11: Operations over a Structure
Day 12: Patterns without Virtual Functions
Day 13: Anti-Patterns and Refactoring toward Patterns
Day 14: The Assembled Application
WHO IT'S FOR
Working C++ programmers who can write a class but cannot yet say why one design survives a change and another does not. Students on a software design or software engineering course. Candidates preparing for a design interview, where the twenty-three patterns are asked about by name.
Written to C++23. Every listing was compiled and run with g++ -std=c++23 -O2 -Wall -Wextra, and every printed output is what came back from that run. Nothing was typed from memory.
Work the problems. That is what the book is for.