Urban Planning Metaphor for Software Architecture
Architecture Without Architects introduced me to urban planning as a metaphor for software architecture, and I love it.
Architecture Without Architects introduced me to urban planning as a metaphor for software architecture, and I love it.
Scaling Architecture Conversationally clearly and concisely explains how and why architecture is more of a facilitated process than a top-down decision process.
I was asked what percentage of time I spend on system design (or architecture) over coding. The question didn’t make sense to me, and I think I’ve articulated why. I see architecture as a facilitated aspect of implementation rather than a separable process.
I generated a visual while trying to reconcile the iDesign and Clean Architecture architectural patterns. The visual helped cement some important ideas, but I never published it. Here I’ll revisit the visual and review how my ideas have changed.
Choosing the right amount of process is an art. Too much process is smothering and too little is a mess. However, I think incremental, stable, and additive processes naturally start simple and mature progressively with our demands.
It’s easy to see how Domain Driven Design (DDD) by Eric Evans was such a seminal work. It presents a holistic development process that seems to have predicted the next two decades of development trends. Here are some of my key takeaways from the book.
I’ve been on a long journey of meshing IDesign with Clean Architecture. Managers, engines, and utilities fit nicely, but accessors seemed too substantial for an adapter and not independent enough for a true service. At last, I’ve realized the place of accessors by building off their relationship to utilities. Accessors are independent services, not servants to managers.
I’ve been on a long journey of meshing IDesign with Clean Architecture. Accessors have been a conceptual sticking point.
Understanding Clean Architecture has transformed my approach to architecture. Now I feel like my understanding has evolved one step further by understanding its parent pattern’s name, Ports and Adapters.
I posted about Synthesizing Project Organization Methods a few months ago. Well… I’ve been busy putting it to practice in my own code, and the results have been been beyond my expectations!