“Clean architecture. The Art of Software Development by Robert Martin

What is this book about

About design and architecture. “One of the goals of this book is to clear up all this confusion and define once and for all what design and architecture are. First of all, I argue that there is no difference between these concepts. None at all,” Robert Martin clarifies and reveals the details using a simple example: “Let’s take the example of the architect who designed my new house. Does this house have architecture? Certainly! And what is it expressed in? Well . . . This is the shape of the house, appearance, ledges, as well as the arrangement of rooms and the organization of space inside. But when I looked at the drawings created by the architect, I saw a lot of detail on them. I saw the location of all the outlets, switches and lights. I saw which switches would control which lights. I saw where the heating unit would be located, as well as the location and dimensions of the water heating boiler and pump. I saw a detailed description of how the walls, roof and foundation should be constructed. Simply put, I saw all the little details that support all the high-level decisions. I also saw that low-level details and high-level decisions come together to make up a home's design. The same applies to software architecture. Low-level details and high-level structure are parts of the same whole. They form a continuous fabric that determines the shape of the system. One is impossible without the other; there is no clear line that separates them. There is simply a collection of solutions at different levels of detail.”

System and rules

The trick or, in other words, the trick of Robert Martin is that he knows how to look at the root. He manages to explain the system of knowledge and techniques through rules and principles that either did not exist before or were not announced by anyone. Even if you look at the table of contents, you will notice that he put the basics and patterns into separate chapters and blocks. Just like in a textbook or manual.

At the same time, Robert Martin can argue with stereotypes. For example, like this: “Functionality or architecture? What is more valuable? What is more important – the correct operation of the system or the ease of changing it? If you ask this question to the head of an enterprise, he will probably answer that correct work is more important. Developers often agree with this sentiment. But it is wrong. I can prove this view wrong with a simple logical tool for examining extremes.

  • If a program that works correctly doesn't allow it to change, it will no longer work correctly when the requirements change, and you won't be able to get it to work correctly. That is, the program will become useless.

  • If a program doesn't work correctly but is easy to change, you can make it work correctly and keep it running as requirements change. That is, the program will always remain useful.

These arguments may seem unconvincing to you. After all, there are no programs that cannot be changed. However, there are systems that are almost impossible to change because the cost of change will exceed the benefits obtained. Many systems achieve this state in some of their features or configurations.”

Here I would like to draw attention to the fact that Robert Martin also argues taking into account the prospects – whether the decision turns out to be rational or not. Somehow it even turns out to be universal. Can be used not only in IT. That is, this is the base.

Who will be interested in this book

Like the book about the ideal programmer, this is a read about how to become a professional in your field, but still in the field of software and specifically software architecture. On the one hand, everything is written concisely and in simple language, the conclusions are highlighted, there are short conclusions to each chapter, examples and illustrations – that is, you can read it for general education, even if the topic just arouses your curiosity. On the other hand, the book can help specialists in their niche to systematize their personal experience, analyze it, and perhaps criticize the author and find new explanations for the principles of their work.

Advice to the reader: Don't expect a deep dive into theory from the book, but expect to get something of your own from Robert Martin's trademark light-hearted storytelling.

Useful from Online Patent:

  1. How to get government support for an IT company?

  2. What benefits can you get from registering a computer program?

  3. How to protect your customer database?

  4. Not only IT specialists: which companies can add their programs to the Register of Domestic Software?

  5. Trademark Guide in 2024.

More content about the field of intellectual property in our Telegram channel

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *