DEV Community

loading...

Discussion on: Looking for courses and books about Software Architecture

Collapse
jonathanhiggs profile image
Jonathan Higgs

When I saw the title of your post I was going to recommend Martin Fowler, but you have already found him

Most often when trying to find something on the subject of architecture it ends up being on design patterns and while I think design patterns are very important and highly related to architecture they are still two distinct fields and skills. One is micro level design and one is macro level, decisions are driven by different factors for different outcomes

I don't know of too many books on the subject other than Clean Architecture by Uncle Bob (I haven't read it, but I've heard good things and Uncle Bob has a lot of similar ideas to Martin Fowler). Probably the single most interesting things I've read is the ZeroMQ guide, it is not an architecture book as such, but is a literal encyclopedia of distributed computing patterns right next to example implementations. Other than that I'd just say search search and search for anything you think is relevant, there definitely isn't any right answer, just how suitable a solution is for a particular problem, so most of the skill in architecting is having a wide vocabulary so you understand the tradeoffs you are making (most often speed of development vs flexibility for changing requirements). Something I found interesting was comparing how different languages achieve similar results, eg. SqlAlchemy for python vs EntityFramework in .Net, and specifically how small changes in the language design change the way that large projects turn out. Or maybe how very low level interfaces could cause you to entirely change how you would architect the entire system, eg. using the Reactive Extensions observable/observer instead of events or iterators

Collapse
pablomarti profile image
Pablo Martí Author

Important to mention that, about architecture and design patterns, I believe they are related (that is open) but they are different. There is a relationship and dependency between them. I will take a look to "Clean Architecture" also and thanks for the guide! It is good to know a little from each one in order to be prepared in the future for the tradeoffs that you mention.

Forem Open with the Forem app