47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
Title: Шина-01
|
||
Date: 2024-01-04 00:00
|
||
Category: News
|
||
Slug: bus-01
|
||
Lang: ru
|
||
|
||
# На пути к портируемому коду
|
||
|
||
Для достижения портируемости кода необходимо разделить весь код на две части:
|
||
|
||
* повторяющееся: логика
|
||
* уникальное: взаимодействие с окружением
|
||
|
||
Для упрощения конструирования портируемого кода нужна возможность размещать
|
||
любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы.
|
||
Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски
|
||
кода делает равными, т.к. они взаимодействуют друг с другом через Шину.
|
||
|
||
# Шина-01
|
||
|
||
На текущий момент получился следующий результат:
|
||
|
||
<iframe width="560" height="315" src="https://www.youtube.com/embed/XAlIlG9tVL4?si=5HYRDkNuYE0zeoyo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||
|
||
Структура модуля:
|
||
|
||
![YML модуля][yml]
|
||
|
||
<yml>
|
||
|
||
Часть визуального представления:
|
||
|
||
![Визуальное представление][v]
|
||
|
||
Основная функциональность:
|
||
|
||
1. Форматирование ввода таким образом, чтобы оставить лишь числа
|
||
1. Активация кнопки при наличии не менее, чем трёх чисел
|
||
1. Симуляция загрузки при нажатии кнопки
|
||
|
||
Это пример единственного экземпляра сущности.
|
||
|
||
Далее предстоит разобраться с множественными экземплярами сущности.
|
||
|
||
[yml]: ../../images/2024_bus-01_yml.jpg
|
||
[v]: ../../images/2024_bus-01_v.jpg
|