Design Patterns
Klaus Iglberger, CppCon 2024 klaus.iglberger@gmx.de Design Patterns The Most Common Misconceptions (2 of N)2 Klaus Iglberger C++ Trainer/Consultant Author of “C++ Software Design” (Co-)Organizer Email: klaus.iglberger@gmx.deThe 2nd in a Row 3The 2nd in a Row 45 Let’s again talk about design patterns and virtual functionsThe Overhead of Inheritance Hierarchies 6The Overhead of Inheritance Hierarchies std::variant are replacements for virtual functions 🥸131 Design patterns represent dependency structures 🥸132 Thus design patterns have architectural properties 🥸133 You cannot just replace one0 码力 | 136 页 | 7.95 MB | 5 月前3DEDUCING this PATTERNS
DEDUCING this PATTERNS BEN DEANE / CPPCON 2021 @ben_deaneOVERVIEW This presentation is about P0847, "Deducing this" ( ) Gašper Ažman, Sy Brand, Ben Deane, Barry Revzin – "We propose a new mechanism link/p0847OVERVIEW A bit about the motivation and history of P0847 What the feature is Existing patterns evolved by P0847 New patterns not possible before P0847 Miscellanea Disclaimer: all code is exposition only and regular to call func! } };CONSIDER "TEMPLATE METHOD" Recall the template method pattern (Design Patterns, Gamma/Helm/Johnson/Vlissides pp 325-330) struct Base { auto TemplateMethod() { PrimitiveOperation1();0 码力 | 126 页 | 5.15 MB | 5 月前3Concurrency Patterns I
relation between a certain context, a problem, and a solution." (Christopher Alexander)Three Types of Patterns ▪ Architecture pattern ▪ Fundamental structure ▪ Software system ▪ Design pattern ▪ Interplay Known usagesConcurrency Patterns ▪ Pattern-Oriented Software Architecture (Volume 2 and 4) ▪ Concurrent Programming in JavaConcurrency Patterns Synchronization Patterns Dealing with Sharing ▪ Suspension Concurrent Architecture Active Object Monitor Object ReactorConcurrency Patterns Synchronization Patterns Dealing with Sharing ▪ Copied Value ▪ Thread-Specific Storage ▪ Future Dealing0 码力 | 39 页 | 1.14 MB | 5 月前3Concurrency Patterns in C
Concurrency Patterns in Go Artsiom Bukhautsou Senior Backend Engineer @Nord SecurityFan-out 🌱 Pipeline 🤔 Fan-in, Fan-out, Pipeline 🦾 Agenda Fan-in 🌱 Tee 🌱 1. 2. 3. 4. 5.Why learn these these patterns?Fan-inFan-in Pros - Simplifies aggregation - Enhanced throughput Cons - Potential bottleneck Use cases - API response aggregation - Log aggregationFan-in (Example)Fan-outFan-out0 码力 | 20 页 | 1.35 MB | 5 月前3Back to Basics: Design Patterns
Please do not redistribute slides without prior permission. 1Back to Basics: Design Patterns Mike Shah, Ph.D. @MichaelShah | mshah.io September 17, 2020 60 minutes | Introductory to Intermediate discussion!Abstract Design Patterns are reusable elements of design that may help aid in making software more maintainable, flexible, and extensible. The term 'design patterns' can be traced back to at Design Patterns, in which common software design patterns were defined and categorized. In this talk, you will learn the fundamentals of the creational, structural, and behavior design patterns. This0 码力 | 96 页 | 2.10 MB | 5 月前3Design Patterns: Facts and Misconceptions
Design Patterns Facts and Misconceptions Klaus Iglberger, CppCon 2021 klaus.iglberger@gmx.de2 Klaus Iglberger C++ Trainer/Consultant Author of the C++ math library (Co-)Organizer B2B and SD tracks Email: klaus.iglberger@gmx.de3Let’s talk about Software Design and Design Patterns 4Disclaimer 5 All content is based on personal, subjective impressions and opinions. You may Architectural patterns Examples: Client-Server Architecture Micro-Services MVC, … Design How are small entities depending on each other? Design decisions that are easier to change Design patterns Examples:0 码力 | 88 页 | 17.31 MB | 5 月前3Sender Patterns to Wrangle Concurrency in Embedded Devices
Sender Patterns to Wrangle Sender Patterns to Wrangle Concurrency in Embedded Devices Concurrency in Embedded Devices Michael Caisse Michael Caisse michael.caisse@intel.com michael.caisse@intel.com (int i) { return std::to_string(i); }) 5 6 ; 7 8 auto r = comp | async::sync_wait(); 9 10 23.2Patterns 24Timeout Request a thing Wait N units of time for thing Timeout if not received 25Timeout auto [](auto v) { /* ... */ } ) | async::upon_error( [](auto e) { /* ... */ } ) ; 1 2 3 4 5 6 27Patterns stop_detached Schedulers fixed_priority_scheduler time_scheduler trigger_scheduler 28Robot Tubeman0 码力 | 106 页 | 26.36 MB | 5 月前3Design patterns for error handling in C++ programs using parallel algorithms and executors
Design patterns for error handling in C++ programs using parallel algorithms and executors Mark Hoemmen* mhoemmen@stellarscience.com CppCon 2020 * hoʊ’mən, or hœm’mən; he/himWho am I? • > 10 years Passing Interface (MPI): 3 decades of distributed-memory parallel programming • MPI teaches design patterns to detect and handle recoverable errorsWhat is “parallel”? • Use multiple hardware resources anywaySummary • C++ parallel algorithms and asynchronous tasks make error handling harder • Use design patterns developed for MPI – Turn exceptions into values; reduce over error info – Avoid deadlock due to0 码力 | 32 页 | 883.27 KB | 5 月前3Coroutine Patterns and How to Use Them: Problems and Solutions Using Coroutines in a Modern Codebase
Francesco Zoffoli - Coroutine Patterns and How to Use Them - CppCon 2023 2About Me • Software engineer building monitoring systems at • Passionate about C++ • Author of the book “C++ Fundamentals” – Packt talking about C++ Francesco Zoffoli - Coroutine Patterns and How to Use Them - CppCon 2023 3 makers.f.dev@gmail.comOutline • Motivation • Overview • Patterns • Lifetime • Exceptions • RAII • Synchronization Francesco Zoffoli - Coroutine Patterns and How to Use Them - CppCon 2023 4Motivation • 40 years of • Experience • Accumulated knowledge Francesco Zoffoli - Coroutine Patterns and How to Use Them - CppCon0 码力 | 70 页 | 1.45 MB | 5 月前3Bridging the Gap: Writing Portable Programs for CPU and GPU
Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool host device all the things© host device everywhere Conditional function body constexpr Motivation Patterns The dark path Cuda proposal Thank you Motivation 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns 3 The dark path 4 Cuda proposal5/66 Motivation Patterns The dark etc..6/66 Motivation Patterns The dark path Cuda proposal Thank you Audience etc.. Ask questions during the talk Or after the talk Audience? Only Cuda6/66 Motivation Patterns The dark path Cuda proposal0 码力 | 124 页 | 4.10 MB | 5 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100