Изображение блога
Алексей Ван <o-s-a.net>
Алексей Ван <o-s-a.net> Блог компании Os_Engine
14 декабря 2023, 19:06

Стандарты кода #5. Архитектурный ад. Сколько нужно файлов и папок. Коннекторы для OsEngine #24

Проблема, о которой поговорим сегодня – генерация хитрых архитектур для коннектора. Сразу же скажу, что коннектор в рамках OsEngine, насколько бы он для вас сложным не был, — очень простая штука, если пользоваться моими советами и вести тесты. Настолько простая, как складной нож. Он очень прост и не нуждается ни в каких дополнениях.

Складной нож не нужно прикручивать к палке, чтобы им управлять.

Складной нож не требует постоянного отмачивания в машинном масле.

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

Стандарты кода #5. Архитектурный ад. Сколько нужно файлов и папок. Коннекторы для OsEngine #24

Совместные классы-парсеры для разных коннекторов.

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

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

Поэтому:

Совместные классы-парсеры, вёбСокет-обёртки и рест-оболочки для коннекторов запрещены.

 

Кол-во папок.

Все классы и файлы, которые создаются в рамках работы над коннектором, должны находиться в папке Market/Servers, что в проекте:

Стандарты кода #5. Архитектурный ад. Сколько нужно файлов и папок. Коннекторы для OsEngine #24

Один брокер/биржа криптовалют – одна папка, в которой могут быть подпапки, разделяющие биржу по площадкам. Например, в случае с Binance / BitGet это разделение на фьючерсы и спот:

Стандарты кода #5. Архитектурный ад. Сколько нужно файлов и папок. Коннекторы для OsEngine #24

Сама площадка должна состоять из:

  1. Класса реализации сервера.
  2. Класса с разрешениями для этого сервера.
  3. Подпапки Entity(JSON), в которых хранятся JSON объекты и возможные хелперы, если коннектор сложный.

Всё, что выходит за рамки этой схемы, вне закона.

 

Паттерны проектирования ЗАПРЕЩЕНЫ.

В данный момент ServerRealization – это набор функций, которые надо правильно реализовать. Он не требует применения никаких паттернов проектирования совсем.

Им здесь нет места. 



Что почитать?

  1. https://habr.com/ru/articles/542484/ Паттерны. Будет что-то из этого, коннектор отправится в урну.

 

Пост из серии «Коннекторы к OsEngine»

Серия о том, как стать настоящим программистом и изменить свою профессию.

Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php

Комментарии открыты для друзей, добавляйтесь!

Стандарты кода #5. Архитектурный ад. Сколько нужно файлов и папок. Коннекторы для OsEngine #24

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients

Стандарты кода #5. Архитектурный ад. Сколько нужно файлов и папок. Коннекторы для OsEngine #24

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн