Создать систему для динамической загрузки и выгрузки общих объектов в виде плагинов - PullRequest
0 голосов
/ 05 августа 2020

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

  1. сначала должен иметь интерфейс в приложении, из которого будут производиться все подключаемые модули, которые будут загружены в приложение:
// some_package_in_the_main_app.go

type Plugin interface {

  // function is called when the app starts
  Enable()

  // function is called when the app stops
  Disable()
}
затем нужно создать плагин для добавления функциональности в приложение:
// some_plugin_package.go

func (*Plugin) Enable() {
}

func (*Plugin) Disable() {
}

Я хочу знать, как все это объединить в простой в управлении системе.

...