Open/Close

Open/Close — это цена, по которой криптовалюта открывается в определенный период времени, или принцип программирования, согласно которому части программного обеспечения могут расширяться.

Что такое Open/Close?

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

В разработке программного обеспечения термин open/close используется для обозначения принципа программирования, в соответствии с которым части программного обеспечения (функции, модули и т.д.) могут расширяться без внесения каких-либо изменений в исходный код. Сам код обеспечивает гибкость, ограничивая при этом возможность изменения его основных частей. Это избавляет от необходимости изменять программное обеспечение полностью каждый раз, когда возникают новые требования.

Впервые этот принцип был предложен Бертраном Мейером и представляет собой составную часть принципа SOLID объектно-ориентированного программирования. Open/close является особенно важным для проектирования блокчейна и криптопроектов из-за их неизменяемой природы.

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

Хардфорки — это неудобная процедура и достаточно рискованная для пользователей. Для проектов непрактично проводить хард-форк каждый раз, когда им необходимо внести изменения и добавить/модифицировать функциональные возможности. Итак, программирование блокчейна в существенной степени опирается на принцип «Open/Close», что подразумевает оставление места для расширения возможностей без кардинальных изменений.

Связанные термины