💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide.
In this video, I talk about software architecture, what it is, and how it relates to writing code and software design. As an example, I show you how to implement a Model-View-Controller (MVC) architecture in Python and discuss a few other software architectures as well.
A few interesting links to articles and books:
About Django's architecture: https://djangobook.com/mdj2-django-st...
Overview of software architecture patterns: https://towardsdatascience.com/10-com...
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides: https://amzn.to/3jllgyH
Principles of Package Design: Creating Reusable Software Components by Matthias Noback: https://amzn.to/2NETK3l
Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin: https://amzn.to/3qVZgNs
The original Design Principles and Design Patterns article by Robert Martin: https://fi.ort.edu.uy/innovaportal/fi...
🎓 Courses:
The Software Designer Mindset: https://www.arjancodes.com/mindset
The Software Designer Mindset Team Packages: https://www.arjancodes.com/sas
The Software Architect Mindset: Pre-register now! https://www.arjancodes.com/architect
Next Level Python: Become a Python Expert: https://www.arjancodes.com/next-level...
The 30-Day Design Challenge: https://www.arjancodes.com/30ddc
🛒 GEAR & RECOMMENDED BOOKS: https://kit.co/arjancodes.
You can find the code I worked on in this episode in my GitHub repository: https://github.com/arjancodes/betterp...
All parts in this series:
Part 1: Cohesion and coupling - • Cohesion and Coupling: Write BETTER P...
Part 2: Dependency inversion - • Dependency Inversion: Write BETTER PY...
Part 3: The strategy pattern - • The Strategy Pattern: Write BETTER PY...
Part 4: The observer pattern - • Observer Pattern Tutorial: I NEVER Kn...
Part 5: Unit testing and code coverage - • 100% CODE COVERAGE - Think You're Don...
Part 6: Template method and bridge - • Two UNDERRATED Design Patterns 💡 Writ...
Part 7a: Exception handling - • Exception Handling Tips in Python ⚠ W...
Part 7b: Monadic error handling - • Monadic Error Handling in Python ⚠ Wr...
Part 8: Software architecture - • Why You Should Think About SOFTWARE A...
Part 9: SOLID principles - • Uncle Bob’s SOLID Principles Made Eas...
Part 10: Object creation patterns - • QUESTIONABLE Object Creation Patterns...
🔖 Chapters:
0:00 Intro
0:45 What is software architecture?
1:38 Example: Django
2:21 Model-View-Controller (MVC)
2:57 MVC: code example
4:26 Creating the Model
4:43 Creating the View
6:57 Creating the Controller
9:23 Patching up everything
10:03 Improvement #1: creating an abstract View class
11:40 Improvement #2: adding a functional strategy design pattern
13:58 Analysis of the new code
14:49 Other software architectures
15:58 Final thoughts
👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!
🏆 Join my Discord server: https://discord.arjan.codes
👥Twitter: / arjancodes
👥LinkedIn: / arjancodes
👥Facebook: / arjancodes
#arjancodes #softwaredesign #softwarearchitecture
Photo by Kimon Maritz on Unsplash: https://unsplash.com/@kimonmaritz
DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!
Watch video Why You Should Think About SOFTWARE ARCHITECTURE in Python 💡 online, duration hours minute second in high quality that is uploaded to the channel ArjanCodes 16 April 2021. Share the link to the video on social media so that your subscribers and friends will also watch this video. This video clip has been viewed 70,690 times and liked it 2.5 thousand visitors.