Сергей Борисов

Объекты


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

квантово-запутанными частицами существует связь неизвестной природы. Экспериментально показано, что если провести измерение свойств одной из частиц, то это мгновенно повлияет на другую.

      Пока мы говорили о вещах, существующих в физическом пространстве, но можно привести пример и более абстрактных объектов. Посмотрим на план строительства дома. Скорее всего, он состоит из нескольких этапов: сначала закладывается фундамент, затем возводятся стены и наконец укладывается крыша. Если в процессе строительства будут внесены изменения в фундамент, это может повлиять на стены, которые в свою очередь повлияют на крышу. Таким образом, цепочки связанных друг с другом событий являются объектами. Тема изменения объектов-событий встречается во многих фильмах, когда герой возвращается в прошлое и совершает некоторые действия, которые влияют на будущее.

      Похожим образом объектом является любая область связанных друг с другом знаний. Каждое новое открытие опирается на фундамент уже накопленных знаний.

      Если я видел дальше других, то потому, что стоял на плечах гигантов. 

      – Исаак Ньютон

      В свою очередь, новые открытия могут дополнять, уточнять, а иногда и полностью менять предыдущие.

      Компьютерные программы также являются объектами. Рассмотрим два типа изменений, которые могут с ними происходить.

      • Объект: программа во время исполнения

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

      Во втором случае изменяется сам код программы.

      • Объект: код программы

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

      Слишком сильные связи могут негативно отразиться на объекте-программе. В программировании это называется «сильным зацеплением» или «сильной связанностью» и считается плохой практикой.

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

      – Википедия

      1.2 Действия и внешние воздействия

      В предыдущей главе мы говорили, что изменения, вызванные внешними факторами, называются внешними воздействиями. Кроме этого, внутренние части взаимодействуют между собой, также изменяя объект. Такие изменения мы будем называть действиями.

      Внешнее воздействие – изменение, вызванное внешними объектами.

      Действие