rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | IServer и AServer. Коннекторы к OsEngine #18

Сегодня поговорим про разницу между IServer (интерфейс) и AServer (абстрактный класс) внутри Os Engine. Зачем они в проекте и как появились?


Это часть серии постов «Коннекторы к OsEngine», в которой мы с нашими читателями учимся быть не просто алготрейдерами, но и настоящими программистами, а многие из них станут ими, навсегда, изменив свою жизнь к лучшему.  Пролетарии СмартЛаба, присоединяйтесь!

Упрощённая схема работы с конечной реализацией сервера из любого робота в OsEngine:

IServer и AServer. Коннекторы к OsEngine #18

 

1 IServer.

IServer – интерфейс для доступа к реализациям серверов почти во всём проекте. Нужен для того, чтобы унифицировать методы и свойства, нужные для роботов и OsData.

  IServer и AServer. Коннекторы к OsEngine #18

Родился сразу же, как появился второй коннектор в OsEngine.

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

В таком виде проект существовал года два. Т.е. был интерфейс и всё. Сами реализации очень сильно отличались от сервера к серверу.

 

2 AServer.

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

 IServer и AServer. Коннекторы к OsEngine #18

 

 

AServer – абстрактный класс, реализующий общую логику работы для конечных реализаций серверов.

 IServer и AServer. Коннекторы к OsEngine #18

Хранит в себе готовую логику:

  1. Хранения и настройки параметров.
  2. Отдельный поток для защищённых запросов к реализации сервера.
  3. Отдельный поток для рассылки на верх данных из сервера.
  4. Хранения свечек и трейдов.

 

Экономит на данный момент 2211 строк кода логики при создании нового подключения:

 

 IServer и AServer. Коннекторы к OsEngine #18

 

3 AServer, наследуемый для реализаций серверов.

На данный момент, создавая любой коннектор, нужно наследоваться от AServer:

 

 IServer и AServer. Коннекторы к OsEngine #18

 

Удачных алгоритмов!

 

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

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

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

 

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

 

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support

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

IServer и AServer. Коннекторы к OsEngine #18

★3

теги блога Алексей Ван <o-s-a.net>

....все тэги



UPDONW
Новый дизайн