VeighNa · 第 5 章 网关与应用抽象 章节摘要:本章精读 VeighNa 的"契约层"——BaseGateway、BaseApp、BaseDatabase、BaseDatafeed 四个抽象基类。它们定义了所有插件(网关/应用/数据库/数据服务)必须遵守的接口契约,是"核心+插件"架构能落地的根基。BaseGateway 最重:它定义了网关开发的三大铁律(线程安全/非阻塞/自动重连),7 个抽象方法(connect/sendorder/...),以及 onxxx 回调如何把数据封装成 Event 并投递到事件总线。BaseApp 极简(纯类属性契约)。BaseDatabase/BaseDatafeed 用 importmodule 动态加载。本章共 2 节,前置依赖为第 14 章。
章节摘要:本章精读 VeighNa 的"契约层"——BaseGateway、BaseApp、BaseDatabase、BaseDatafeed 四个抽象基类。它们定义了所有插件(网关/应用/数据库/数据服务)必须遵守的接口契约,是"核心+插件"架构能落地的根基。BaseGateway 最重:它定义了网关开发的三大铁律(线程安全/非阻塞/自动重连),7 个抽象方法(connect/send_order/...),以及 on_xxx 回调如何把数据封装成 Event 并投递到事件总线。BaseApp 极简(纯类属性契约)。BaseDatabase/BaseDatafeed 用 import_module 动态加载。本章共 2 节,前置依赖为第 1~4 章。
阅读完本章,你应当能够:
抽象基类定义契约,插件实现契约,核心零硬依赖——开闭原则的落地。
三大铁律;default_name/default_setting/exchanges 类属性;on_event 通用入口 + on_tick 推送全局+按 vt_symbol 双 topic;7 个抽象方法;send_quote/query_history 默认实现。
BaseApp 纯类属性契约(app_name/engine_class/widget_name...);BaseDatabase 8 个抽象方法 + get_database 单例工厂 + import_module;BaseDatafeed 同构设计(默认空实现优雅失败)。
本章第 01 节(BaseGateway) ──► 第 02 节(BaseApp/Database/Datafeed) │ ▼ 下一章(第 6 章 BarGenerator 与 ArrayManager)
前置知识:
后续延伸: