Design Patterns
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 of the Munich 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 common interface; • … is used via the base class interface; • … introduces an abstraction and is a design pattern. • … should be called “Static Interface” Adding Functionality via CRTP … • … provides0 码力 | 136 页 | 7.95 MB | 5 月前3Prototype your design
Prototype your design! Robert Griesemer dotGo 2016, Paris 1 Getting to good software design ● Literature is full of design paradigms ● Usually involves ○ Design docs ○ Feedback from reviewers ○ is created until design is “completed” 2 How can we tell if we have a good design? 3 Elsewhere, design thinking requires prototyping 4 Empathize Define Ideate Test From Design School Stanford: 15, 11) 5 j matrix[i,j] i High-level goals 1. More readable code 2. Great performance Many open questions: ○ Which primitive operations? ○ What implementation? ○ What notation? ○ etc. 6 Observation0 码力 | 30 页 | 164.99 KB | 1 年前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 forward to 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 Four' book 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 patterns0 码力 | 96 页 | 2.10 MB | 5 月前3The Roles of Symmetry And Orthogonality In Design
dot com Symmetry And Orthogonality System Design The Roles of In Designcharley bay charleyb123 at gmail dot com Symmetry And Orthogonality System Design The Roles of In DesignCharley Bay - charleyb123 charleyb123 at gmail dot com The Roles of Symmetry And Orthogonality In Design cppcon 2021 Either you keep self improving, or it's time to move into management. --Niall Douglas 30-Sep-2021 https://old of Symmetry And Orthogonality In Design cppcon 2021 Today’s Agenda • Levels of “Knowing” • Role of Symmetry • Role of Asymmetry • Role of Orthogonality • Design Relationships • Conclusion What’s0 码力 | 151 页 | 3.20 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 of the CppCon 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 opinions. You may have another opinion, and that is fine! There is no definitive answer in software design. It depends. But that is the reason why it is fun.6 std::make_unique() … … improves exception0 码力 | 88 页 | 17.31 MB | 5 月前3The Most Important Design Guideline is Testability
12The Most Important Design Guideline is Testability CppCon 2024 3 Jody Hagins jhagins@dev.nullThe Most Important Design Guideline is Testability CppCon 2024 4 Jody Hagins jhagins@dev.nullThe nullThe Most Important Design Guideline is Testability CppCon 2024 5 Jody Hagins jhagins@maystreet.com coachhagins@gmail.com6 Grad School and Winning the LotteryRemember This? 7 https://www.youtube com/watch?v=a76Z__kQJdo&t=83s8 The Most Important Design Guideline https://www.youtube.com/watch?v=a76Z__kQJdo&t=83s9 The Most Important API Design Guideline? TESTABILITY https://www.youtube.com/watch0 码力 | 126 页 | 9.11 MB | 5 月前3Can Data-Oriented-Design be Improved?
1Can data-oriented-design be improved? Ollivier Roberge Collège Jean-de-Brébeuf 2A brief historic • 1960s • FORTRAN • Lisp • 1980s • OOP • Structured programming • Modules • 2000s • Template is DoD about? • DoD (“Data oriented design”) • Not about cache lines, nor struct layout (at its core) • From wikipedia: ”As a design paradigm, data-oriented-design focuses on optimal transformations • And your program needs to do something: 𝐷𝑎𝑡𝑎&$%#$% = 𝐹(𝐷𝑎𝑡𝑎!"#$%) 13Data oriented design = Functional programmingOn the ”equality”… • DoD and functional programming may have strong differences0 码力 | 39 页 | 1.18 MB | 5 月前3Cache-Friendly Design in Robot Path Planning
to get from one location to another before actually moving. 8Cache-friendly design 9Cache-friendly design Program design focused on optimizing code by avoiding pathological affects of memory access 10Cache-friendly design - Random person on StackOverflow Modern memory pipelines are so complex you are basically optimizing for the cache 11Cache-friendly design 12Cache-friendly design 13Cache-friendly 13Cache-friendly design 14Cache-friendly design Accessing data means accessing memory through the cache 15Cache-friendly design Accessing data means accessing memory through the cache Running instructions means0 码力 | 216 页 | 10.68 MB | 5 月前3基于open-falcon的平安云监控
基于open-falcon的 平安云监控 目录 Ø 团队介绍 Ø 背景 Ø 系统定位 Ø argus是什么 Ø 为什么选用Go Ø argus的前身 Ø argus的现状 Ø argus的未来 团队介绍 Ø 平安云IAAS团队 Ø 负责平安集团IAAS平台建设 Ø 为平安集团内部其他子公司服务 Ø 打造对外的金融云服务 目录 Ø 团队介绍 Ø 背景 Ø 系统定位 Ø argus是什么 Ø 为什么选用Go Ø argus的前身 Ø argus的现状 Ø argus的未来 argus是什么 Ø 是平安云监控系统 Ø 希腊神话里的百眼巨人 Ø 基平open-falcon开发的平安云监控系统 Ø 是一个Go语言实现的项目 目录 Ø 团队介绍 Ø 背景 Ø 系统定位 Ø argus是什么 Ø 为什么选用Go Ø argus的前身 Ø argus的现状 自带单元测试框架 目录 Ø 团队介绍 Ø 背景 Ø 系统定位 Ø argus是什么 Ø 为什么选用Go Ø argus的前身 Ø argus的现状 Ø argus的未来 argus的前身open-falcon agent transfer meta updater hbs graph judge redis sender query mysql web alarm gitlab0 码力 | 30 页 | 10.40 MB | 1 年前3Design and Implementation of Highly Scalable Quantifiable Data Structures in C++
Vector Space Entropy Measurement Design and Implementation of Quantifiable Stack/Queue Live DemonstrationMotivation Quantifiability Vector Space Entropy Measurement Design and Implementation of Quantifiable Correctness and Performance Engineering Case Study: k-FIFO Queue Design and Implementation of Quantifiable Stack/Queue Live Demonstration Design and Implementation of Highly Scalable Quantifiable Data Structures Structures in C++ 2MotivationMotivation Quantifiability Vector Space Entropy Measurement Design and Implementation of Quantifiable Stack/Queue Live Demonstration Correctness Conditions A correctness condition0 码力 | 51 页 | 4.08 MB | 5 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100