Роберт Мартин

Чистая архитектура. Искусство разработки программного обеспечения


Скачать книгу

Грегу Янгу, что объяснил мне суть этого понятия.

      20

      CRUD – аббревиатура, обозначающая набор основных операций с данными: Create (создание), Read (чтение), Update (изменение) и Delete (удаление). – Примеч. пер.

      21

      В данном случае слово «SOLID» можно перевести как «прочный», «надежный», «основательный». – Примеч. пер.

      22

      Например, Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin, Prentice Hall, 2002 (Роберт С. Мартин. Гибкая разработка программ на Java и C++: принципы, паттерны и методики. М.: Вильямс, 2017. – Примеч. пер.), http://www.butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod и https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) (можно просто выполнить поиск в Google по слову «SOLID»).

      23

      Bertrand Meyer. Object Oriented Software Construction, Prentice Hall, 1988, p. 23 (Бертран Мейер. Объектно-ориентированное конструирование программных систем. Русская редакция, 2005. – Примеч. пер.).

      24

      Barbara Liskov. Data Abstraction and Hierarchy, SIGPLAN Notices 23, 5 (May 1988).

      25

      То есть функцию, которая вызывается операционной системой в момент запуска приложения.

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