Skip to main content

Key Design Concepts

This section will introduce certain design paradigms that are common across all of Ignition and may be different from other systems that you've programmed for in the past.

📄️ Module Services

Module services are a way for modules to provide APIs to other modules, or to implement well-known services in new ways. The ModuleSerivcesManager (accessed through GatewayContext) is a directory of Objects, referenced by their class type. Any module can register a new ModuleService, and other modules can subscribe to these types of services and retrieve the registered instance when its available. This allows child modules to get the running instance of a class provided by a parent module.