SlideShare uma empresa Scribd logo
1 de 134
Architecture In the Small Richard Banks Principal Consultant, Readify Sydney & Virtual ALT.NET Groups http://richardsbraindump.blogspot.com richard.banks@readify.net http://twitter.com/rbanks54
What Does an Architect do?
3 Fundamentals
Communicate the Vision
Explain how to “Get There”™
Lead the Way Technically
and Architecture Itself?
The Design & Structure
Underpins the Vision
Architecture is...
Simple, Right?
NSW Transit T-Card $370million 10 years 0 to show
Westpac Rebuild (1988) $156 million 3 years 0 to show
Not just big projects
Apps that can’t support 10 users
Apps that lose/corrupt data
Apps that are
So where does it go wrong?
Project Failure Reasons Architect Involvement Has Yellow Background
Unrealistic or unarticulated goals
Inaccurate estimates
Badly defined system requirements
Poor reporting of the project's status
Unmanaged risks
Poor communication among customers, developers, and users
Use of immature technology
Inability to handle  the project's complexity and Over Complexificationisationing
Sloppydevelopment practices
Poor project management
Stakeholder politics
Commercial pressures
Another Issue...
Software Is Designed Top Down
Software is Built Bottom Up
[Serializable][AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class, AllowMultiple = false, Inherited = false)][MulticastAttributeUsage(MulticastTargets.Class, AllowMultiple = false)]publicclassNotifyPropertyChangedAttribute : CompoundAspect{publicintAspectPriority { get; set; }publicoverridevoidProvideAspects(object element, LaosReflectionAspectCollection collection){Typetype = (Type)element;collection.AddAspect(type, newPropertyChangedAspect { AspectPriority = AspectPriority });foreach (PropertyInfopropertyInfointype.GetProperties(BindingFlags.Public | BindingFlags.Instance)   .Where(pi => pi.GetGetMethod() != null && pi.GetSetMethod() != null))   {collection.AddAspect(propertyInfo.GetSetMethod(), newNotifyPropertyChangedAspect(propertyInfo.Name,  propertyInfo.PropertyType, propertyInfo.DeclaringType)              { AspectPriority = AspectPriority } );     }  }}
Design == What Code == How
There’s a Disconnect Here
It’s the Architect’s Problem
Solution:
Design & Architect code at the Lowest Levels to Support High Level design goals
Architecture in the Small
Deals with (at least)  3 Failure Causes
Complexity Technical Risk Sloppy Practices
Where Architects Go Wrong
Stopping Short on Design
Believing Marketecture
Following Guidance without Thinking (P&P)
Inattention To Detail
N.I.H. Syndrome
Not (properly) Explaining Howthings should be done
Not Trying Out What They Expect Others To Do
a.k.a. One-Directional Architecture Only doing Top Down Design
Remember: The only way to “Get There” is via code
ArchitectsMUST write code
If you code it you can explain it
(Dis)Prove the Marketecture
Ensure Guidance Makes Sense
Provide Examples Others Can Follow
Deal With Technical Risk
Find Problems You Overlooked
Example: AOP
Choice of Methods IL Weaving Interceptors Roll your own
Choice of Tools EntLib IoC Container PostSharp ...more
Impact on compile times
Impact on discoverability
Impact on debugging
Impact on runtime performance
Impact on developers
If you’ve never tried it... How will you prove it works? How will you show others?
Another Thing to Consider
Teams mimic their architect
Write Clean, Maintainable Code
Example Time
Worst Method?
CC: 81 LOC: 282 Coupling: 32
Complexity FAIL!
Lesson: Keep Code Simple But don’t be simplistic
Lesson: Small Methods Only 20 Lines or Less
Lesson: Small Classes
Lesson: Loose Coupling
Lesson: Meaningful Names
Lesson: Use Domain Language
Lesson: Single Responsibility
Lesson: Discoverable API
Lesson: Single Level Of Abstraction
Lesson: Avoid the “Duh!” Experience: Captain Obvious comments indicate a poorly architected system
A Note on Unit Testing
Test Code == Production Code
Lesson: Name Tests Well
Lesson: Assert Something!
Lesson: Test Behaviour Not State
Lesson: Test Just One Behaviour
What About the *ilities
Usability: (Subjective)
Maintainability: Destroyed in the small Includes agility, flexibility, testability, etc
Scalability: Hampered by the small
Reliability: Brought down by the small
Extensibility: Stymied by the small
Securability: Foiled via the small
Performance: Stalled by the small
It all comes from what happens in the small
Recap
Architects Are Project Fail Points
Architects Need to Code
Prove The Design
Lead By Example
Follow Sound Practices
Simple but Not Simplistic Code
Communicate via Code (not just Diagrams)
And sweat the details!
Thank You! http://richardsbraindump.blogspot.com http://twitter.com/rbanks54 richard.banks@readify.net

Mais conteúdo relacionado

Semelhante a Architecture In The Small

Career Development for Architects
Career Development for ArchitectsCareer Development for Architects
Career Development for ArchitectsKevin Francis
 
Caring about Code Quality
Caring about Code QualityCaring about Code Quality
Caring about Code QualitySaltmarch Media
 
What are Tips for Working with Engineering & Design by Zume PM
What are Tips for Working with Engineering & Design by Zume PMWhat are Tips for Working with Engineering & Design by Zume PM
What are Tips for Working with Engineering & Design by Zume PMProduct School
 
caring_about_code_quality
caring_about_code_qualitycaring_about_code_quality
caring_about_code_qualityKetan Patel
 
Oop 2014 sw architekt v3
Oop 2014 sw architekt v3Oop 2014 sw architekt v3
Oop 2014 sw architekt v3Michael Stal
 
Developing High Performing Architecture Teams
Developing High Performing Architecture Teams Developing High Performing Architecture Teams
Developing High Performing Architecture Teams sallybean
 
Tears, Tantrums and Triumphs OZIA 2009
Tears, Tantrums and Triumphs  OZIA 2009Tears, Tantrums and Triumphs  OZIA 2009
Tears, Tantrums and Triumphs OZIA 2009ladanwise
 
Secrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without codingSecrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without codingNewton Day Uploads
 
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012TEST Huddle
 
Estimating IT projects - Guest lecture University of Twente
Estimating IT projects - Guest lecture University of TwenteEstimating IT projects - Guest lecture University of Twente
Estimating IT projects - Guest lecture University of TwenteFrank Vogelezang
 
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrowDaniel Fisher
 
Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?Massimiliano Di Penta
 
The art technique of data visualization
The art  technique of data visualizationThe art  technique of data visualization
The art technique of data visualizationUday Kothari
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
Architecting a Data Platform For Enterprise Use (Strata NY 2018)
Architecting a Data Platform For Enterprise Use (Strata NY 2018)Architecting a Data Platform For Enterprise Use (Strata NY 2018)
Architecting a Data Platform For Enterprise Use (Strata NY 2018)mark madsen
 
Why many data science projects fail
Why many data science projects fail Why many data science projects fail
Why many data science projects fail Omnia Safaan
 
20210907 jim spohrer berkeley ai_do_dont v1
20210907 jim spohrer berkeley ai_do_dont  v120210907 jim spohrer berkeley ai_do_dont  v1
20210907 jim spohrer berkeley ai_do_dont v1ISSIP
 

Semelhante a Architecture In The Small (20)

Career Development for Architects
Career Development for ArchitectsCareer Development for Architects
Career Development for Architects
 
Caring about Code Quality
Caring about Code QualityCaring about Code Quality
Caring about Code Quality
 
What are Tips for Working with Engineering & Design by Zume PM
What are Tips for Working with Engineering & Design by Zume PMWhat are Tips for Working with Engineering & Design by Zume PM
What are Tips for Working with Engineering & Design by Zume PM
 
IT Portfolio Seminar
IT Portfolio Seminar   IT Portfolio Seminar
IT Portfolio Seminar
 
caring_about_code_quality
caring_about_code_qualitycaring_about_code_quality
caring_about_code_quality
 
Oop 2014 sw architekt v3
Oop 2014 sw architekt v3Oop 2014 sw architekt v3
Oop 2014 sw architekt v3
 
Developing High Performing Architecture Teams
Developing High Performing Architecture Teams Developing High Performing Architecture Teams
Developing High Performing Architecture Teams
 
2011_esc.pdf
2011_esc.pdf2011_esc.pdf
2011_esc.pdf
 
Tears, Tantrums and Triumphs OZIA 2009
Tears, Tantrums and Triumphs  OZIA 2009Tears, Tantrums and Triumphs  OZIA 2009
Tears, Tantrums and Triumphs OZIA 2009
 
Secrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without codingSecrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without coding
 
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Estimating IT projects - Guest lecture University of Twente
Estimating IT projects - Guest lecture University of TwenteEstimating IT projects - Guest lecture University of Twente
Estimating IT projects - Guest lecture University of Twente
 
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
 
Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?
 
The art technique of data visualization
The art  technique of data visualizationThe art  technique of data visualization
The art technique of data visualization
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
Architecting a Data Platform For Enterprise Use (Strata NY 2018)
Architecting a Data Platform For Enterprise Use (Strata NY 2018)Architecting a Data Platform For Enterprise Use (Strata NY 2018)
Architecting a Data Platform For Enterprise Use (Strata NY 2018)
 
Why many data science projects fail
Why many data science projects fail Why many data science projects fail
Why many data science projects fail
 
20210907 jim spohrer berkeley ai_do_dont v1
20210907 jim spohrer berkeley ai_do_dont  v120210907 jim spohrer berkeley ai_do_dont  v1
20210907 jim spohrer berkeley ai_do_dont v1
 

Mais de Richard Banks

Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0Richard Banks
 
Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)Richard Banks
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Richard Banks
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometDDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometRichard Banks
 
Agile Development From A Developers Perspective
Agile Development From A Developers PerspectiveAgile Development From A Developers Perspective
Agile Development From A Developers PerspectiveRichard Banks
 

Mais de Richard Banks (8)

Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0
 
Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)
 
Flaccid coaching
Flaccid coachingFlaccid coaching
Flaccid coaching
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Git TFS
Git TFSGit TFS
Git TFS
 
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometDDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
 
Agile Development From A Developers Perspective
Agile Development From A Developers PerspectiveAgile Development From A Developers Perspective
Agile Development From A Developers Perspective
 

Último

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Architecture In The Small

Notas do Editor

  1. Introduction slide: this slide must be the first slide in every RDN deck. Update the following:Title of TalkPresenter NamePresenter Position