Структура и устройство объекта

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

Структура объекта — из каких частей он состоит и как эти части связаны.
Устройство объекта — как эта структура работает, какие правила доступа, изменения и поведения у неё есть.

То есть:

структура = состав + связи
устройство = состав + связи + правила работы

На массиве:

массив = [7, 3, 9, 1, 5]

Структура массива

Структура отвечает на вопрос:

Что внутри и как расположено?

У массива есть:

элементы
индексы
порядок
длина
позиции

То есть можно сказать:

массив — это последовательность элементов,
где каждый элемент находится на определённой позиции
и доступен через индекс.

Это структура.

Устройство массива

Устройство отвечает на вопрос:

Как это работает?
Что с этим можно делать?
Какие правила у этой формы?

Например:

элемент можно прочитать по индексу
элемент можно изменить по индексу
индексы идут от 0 до length - 1
доступ по индексу обычно быстрый
вставка в середину может требовать сдвига элементов
удаление из середины может требовать сдвига элементов
размер может быть фиксированным или изменяемым — зависит от конкретной реализации

Вот это уже устройство.

Коротко

Структура массива:
[индекс] → [элемент]
[индекс] → [элемент]
[индекс] → [элемент]

Устройство массива:
можно обратиться по индексу
можно заменить значение
можно пройти слева направо
можно искать значение
при вставке элементы могут сдвигаться

Очень важное различение

Структура ближе к картинке объекта.

Вот есть элементы.
Вот есть позиции.
Вот есть порядок.

Устройство ближе к механике объекта.

Как получить элемент?
Как изменить элемент?
Что происходит при добавлении?
Что происходит при удалении?
Что быстро?
Что медленно?

Пример не из программирования

Допустим, велосипед.

Структура велосипеда:

рама
колёса
руль
цепь
педали
тормоза

Устройство велосипеда:

педали вращают цепь
цепь передаёт движение на колесо
руль меняет направление
тормоза замедляют колесо

То есть структура говорит: что есть и как соединено.

Устройство говорит: как это всё действует.

Для схемы

ОБЪЕКТ

1. Структура:
- из чего состоит
- какие части есть
- как части расположены
- как части связаны

2. Свойства:
- что присуще этой структуре
- какие параметры у неё есть
- какие ограничения у неё есть

3. Характеристики:
- что можно сказать о конкретном состоянии объекта сейчас

4. Операции:
- что можно делать с объектом

5. Устройство:
- как структура + свойства + операции работают вместе

То есть устройство шире, чем структура.

Структура — это скелет.
Устройство — это скелет плюс механика работы.

На массиве:

Структура:
массив состоит из элементов, расположенных по индексам.

Свойства:
есть порядок, есть длина, есть доступ по индексу.

Характеристики:
длина = 5, минимум = 1, максимум = 9.

Операции:
прочитать, изменить, пройти, найти, отсортировать.

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