Why you should think about SOFTWARE ARCHITECTURE in Python

Why you should think about SOFTWARE ARCHITECTURE in Python

HomeArjanCodesWhy you should think about SOFTWARE ARCHITECTURE in Python
Why You Should Think About Software Architecture in Python
ChannelPublish DateThumbnail & View CountDownload Video
Channel AvatarPublish Date not found Thumbnail
0 Views
In this video I talk about software architecture, what it is and how it relates to writing code and designing software. As an example, I show you how to implement a Model-View-Controller (MVC) architecture in Python and also discuss a few other software architectures.

Here's my FREE 7-step guide to help you consistently design great software: https://arjancodes.com/designguide.

Some interesting links to articles and books:
– About Django architecture: https://djangobook.com/mdj2-django-structure/
– Overview of software architecture patterns: https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013
– Design Patterns: Reusable Object-Oriented Software Elements by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides: https://amzn.to/3jllgyH
– Package Design Principles: 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 article on design principles and design patterns by Robert Martin: https://fi.ort.edu.uy/innovaportal/file/2032/1/design_principles.pdf

Course:
The Software Designer Mindset: https://www.arjancodes.com/mindset
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-python
The 30 Day Design Challenge: https://www.arjancodes.com/30ddc

RECOMMENDED MATERIALS AND BOOKS: https://kit.co/arjancodes.

You can find the code I worked on in this episode in my GitHub repository: https://github.com/arjancodes/betterpython

All pieces in this series:
Part 1: Cohesion and coupling – https://youtu.be/eiDyK_ofPPM
Part 2: Dependency inversion – https://youtu.be/Kv5jhbSkqLE
Part 3: The strategy model – https://youtu.be/WQ8bNdxREHU
Part 4: The observer model – https://youtu.be/oNalXg67XEE
Part 5: Unit testing and code coverage – https://youtu.be/jmP3fp_BhmE
Part 6: Model method and bridge – https://youtu.be/t0mCrXHsLbI
Part 7a: Exception handling – https://youtu.be/ZsvftkbbrR0
Part 7b: Monadic error handling – https://youtu.be/J-HWmoTKhC8
Part 8: Software architecture – https://youtu.be/ihtIcGkTFBU
Part 9: SOLID Principles – https://youtu.be/pTB30aXS77U
Part 10: Object creation templates – https://youtu.be/Rm4JP7JfsKY

Chapters:
0:00 Introduction
0:45 What is software architecture?
1:38 Example: Django
2:21 Model-View-Controller (MVC)
2:57 MVC: sample code
4:26 Creating the model
4:43 Creating the view
6:57 Creating the controller
9:23 Fix everything
10:03 Improvement #1: Creating an abstract View class
11:40 Improvement #2: Added functional strategy design template
1:58 p.m. Analysis of the new code
14:49 Other software architectures
3:58 p.m. Final thoughts

If you enjoyed this content, like this video. If you want to watch more of my upcoming videos, consider subscribing to my channel!

Join my Discord server: https://discord.arjan.codes
Twitter: https://twitter.com/arjancodes
LinkedIn: https://www.linkedin.com/company/arjancodes
Facebook: https://www.facebook.com/arjancodes

#arjancodes #softwaredesign #softwarearchitecture

Photo by Kimon Maritz on Unsplash: https://unsplash.com/@kimonmaritz

DISCLAIMER – Links in this description may be affiliate links. If you purchase a product or service through one of these links, I may receive a small commission. There is no additional cost to you. Please support my channel so I can continue to bring you free content every week!

Please take the opportunity to connect and share this video with your friends and family if you find it useful.