Software Architecture

Today I will talk about chapter 14: "Software Architecture: Laying the Foundations of Software Design" from the book "Code Craft: The Practice of Writing Excellent Code.", by Pete Goodliffe.
This term 'software architecture' is certainly extremely difficult to define since it is a relatively new topic and for these reasons it has not been possible to define a definitive version for its meaning.

In general we can say that software architecture is all about the plans behind each project and it is necessary to understand how every single individual part works on the system so we can know how the system should be extended over time.
I think an important thing to know is that system architecture is used to validate what is going to be built, communicate the design to all interested parties and discriminate which helps us when making decisions.

We must keep in mind that a good architecture is based on simplicity and needs to be comprehensible. Some examples that I read about are the spaghetti ball architecture, which is a messy, uncontrollable, unmanageable morass of interwoven gloop architecture or Lasagne, which is several distinct layers, arranged one on top of another. There is another type called cannelloni, which is good conduit for its contents, suits situations very well.

Software architecture is a very important and very complicated branch of computer science, complicated because nobody teaches you how to be a software architect, and only the experience as a developer, administrator, tester and other areas will give you the necessary knowledge to be a good one.

Comentarios

Entradas populares de este blog

Hidden Figures

Understanding the SOLID Principles

Microservices