Anyone have experience implementing DDD and Hex architecture with Python enterprise services?
I fell in love the abstraction patterns that Hex architecture and DDD provide, especially when upgrading a framework that only affected one layer (REST), or when any outside contract changes you only need to change the adapter or port interface layer since everything depends on Core but core depends on nothing.
I love the payoff and risk mitigation of using strong static typed languages for enterprise code and architecture but I recently took over a large Python Flask app. We need to start abstracting layers to replace a 3rd party service with a new one. For hex architecture to work I need to use dependency injection which looks like the main Flask app.py seems the place to wire those up but I don't think it can be enforced without strong PR controls and standards.
A lot of this is covered and contributes by Adam Grant's "Hidden Potential"
Learned that different learning styles was bunk (visual vs auditory). Also, experts are the worst teachers, they are far removed from being in your shoes and do not provide the empathy or the correct scaffolding to start newcomers down the path of understanding a topic.
The biggest success for pedagogy impact is study groups, and tutoring while or immediately after learning something (the accountability of needing to teach someone bumps.your motivation to understand the nuances, plus the act of teaching helps you remember)
In my experience those are pretend experts, that are either shy, either also not comfortable with the material.
The one that really understand the material don't hesitate to tell you their real understanding and thoughts pattern even if those are not strictly correct and could never be written down in a publication.
But that's exactly how you catch the deep understanding fast. If the prof. is not giving you that it'll take much more time to get an in depth understanding of the course.
I fell in love the abstraction patterns that Hex architecture and DDD provide, especially when upgrading a framework that only affected one layer (REST), or when any outside contract changes you only need to change the adapter or port interface layer since everything depends on Core but core depends on nothing.
I love the payoff and risk mitigation of using strong static typed languages for enterprise code and architecture but I recently took over a large Python Flask app. We need to start abstracting layers to replace a 3rd party service with a new one. For hex architecture to work I need to use dependency injection which looks like the main Flask app.py seems the place to wire those up but I don't think it can be enforced without strong PR controls and standards.