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

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

Notify me when the book’s added
To read this book, upload an EPUB or FB2 file to Bookmate. How do I upload a book?
  • Oli Kotovahas quoted6 years ago
    Программные сущности должны быть открыты для расширения и закрыты для изменения.
  • Иван Гайдамакинhas quoted7 months ago
    Любой организации, занимающейся разработкой, лучше всего избегать самона­деянных решений и с самого начала со всей серьезностью отнестись к качеству архитектуры ее продукта.

    Серьезное отношение к архитектуре программного обеспечения подразумевает знание о том, что такое хорошая архитектура. Чтобы создать систему, дизайн и архитектура которой способствуют уменьшению трудозатрат и увеличению продуктивности, нужно знать, какие элементы архитектуры ведут к этому.

    Именно об этом рассказывается в данной книге. В ней рассказывается, как выглядит добротная, чистая архитектура и дизайн, чтобы разработчики могли создавать системы, способные приносить прибыль долгое время.
  • Иван Гайдамакинhas quoted7 months ago
    Самонадеянность, управляющая перепроектированием, приведет к тому же беспорядку, что и прежде
  • Иван Гайдамакинhas quoted7 months ago
    чем состоит цель таких решений, цель хорошего дизайна программного обеспечения? Главная цель — не что иное, как мое утопическое описание:

    Цель архитектуры программного обеспечения — уменьшить человеческие трудозатраты на создание и сопровождение системы.

    Мерой качества дизайна может служить простая мера трудозатрат, необходимых для удовлетворения потребностей клиента. Если трудозатраты невелики и остаются небольшими в течение эксплуатации системы, система имеет хороший дизайн. Если трудозатраты увеличиваются с выходом каждой новой версии, система имеет плохой дизайн. Вот так все просто.
  • Иван Гайдамакинhas quoted7 months ago
    Слово «архитектура» часто используется в контексте общих рассуждений, когда не затрагиваются низкоуровневые детали, а слово «дизайн» обычно подразумевает организацию и решения на более низком уровне. Но такое разделение бессмысленно, когда речь идет о том, что делает настоящий архитектор
  • Иван Гайдамакинhas quoted7 months ago
    Динамически связываемые файлы, которые можно подключать во время выполнения, являются программными компонентами в наших архитектурах. Потребовалось 50 лет, но мы достигли такой степени развития, когда архитектура сменных плагинов стала применяться по умолчанию и без титанических усилий, как когда-то.
  • Иван Гайдамакинhas quoted7 months ago
    Мы на практике испытывали действие закона Мерфи о размере про­граммы:

    Любая программа растет, пока не заполнит все доступное время на компиляцию и компоновку.
  • Иван Гайдамакинhas quoted7 months ago
    конечном итоге загрузка и компоновка (связывание) были разделены на два отдельных этапа. Программисты выделили самый медленный этап — этап компоновки (связывания) — в отдельное приложение, получившее название компоновщик, или редактор связей (linker). В результате работы компоновщика получался скомпонованный и перемещаемый двоичный код, который загружался загрузчиком очень быстро.
  • Иван Гайдамакинhas quoted7 months ago
    В результате связывающий загрузчик оказался слишком медлительным.
  • Иван Гайдамакинhas quoted7 months ago
    Однако в конце 1960-х — начале 1970-х годов программисты стали более честолюбивыми и их программы значительно выросли в размерах.
fb2epub
Drag & drop your files (not more than 5 at once)