Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Adapting Design Patterns to a Multi Paradigmati...
Search
Lia Nemeth
April 17, 2018
Programming
0
49
Adapting Design Patterns to a Multi Paradigmatic World
How to adapt the classic GOF concepts to a multi paradigm language such as Python
Lia Nemeth
April 17, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
510
技術同人誌をMCP Serverにしてみた
74th
1
630
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
880
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
150
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
16k
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
480
VS Code Update for GitHub Copilot
74th
2
630
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
660
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Visualization
eitanlees
146
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Scaling GitHub
holman
459
140k
Balancing Empowerment & Direction
lara
1
420
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Six Lessons from altMBA
skipperchong
28
3.9k
Transcript
Adapting Design Patterns to a Multi Paradigmatic World Lia Nemeth
The Gang of Four (GoF) Published in 1994 Inspired by
Christopher Alexander Patterns have: - Name - Problem - Solution - Consequences
These design patterns are not universal They are closely related
to languages such as C++ and Java ¨The choice of programming language is important because it influences one's point of view." (GoF, 1994)
But knowing reusable design elements can still be useful And
some patterns can be adapted for the multi-paradigmatic and dynamic nature of Python
Do not overdo it! Actual diagram from the book
Don't be object obsessed In 1994, Object Orientation was the
shiny new thing and this influenced the GoF book
Strategy Pattern A behavioral pattern that enables selecting an algorithm
at runtime
The Strategy pattern can be easily adapted to use functions
if they are first class elements of the language.
None
Observer Pattern Very useful pattern for event handling
First class functions are again the key to make this
pattern way simpler
None
None
None
Singleton is one of the most famous design patterns It's
a class that allows a single object to be instantiated
Alex Martelli proposes Borg instead of singleton. It can have
multiple objects, but they all share state
None
Some patterns like iterator and command are already embedded in
the language
None
Conclusion Patterns can be useful, they are a great way
to communicate an idea and getting to know them can bring good solutions to problems we face But always be cautious before blindly implementing them and think creatively on how they can be used
Thank you! Code at: github.com/lianemeth/design_patterns_talk