register method
Called when the provider is registered in the container.
Implementation
@override
void register(ContainerInterface container) {
// Register cache driver registry
container.singleton<ICacheDriverRegistry>(
(c) => CacheDriverRegistry(),
);
// Register cache statistics manager
container.singleton<ICacheStatisticsManager>(
(c) => CacheStatisticsManager(),
);
// Register cache tag manager
container.singleton<ICacheTagManager>(
(c) => CacheTagManager(),
);
// Register cache validator
container.singleton<ICacheValidator>(
(c) => CacheValidator(),
);
// Register cache config loader
container.singleton<ICacheConfigLoader>(
(c) => CacheConfigLoader(),
);
// Register cache manager with all dependencies
container.singleton<CacheManager>(
(c) => CacheManager(
driverRegistry: c.resolve<ICacheDriverRegistry>(),
statisticsManager: c.resolve<ICacheStatisticsManager>(),
tagManager: c.resolve<ICacheTagManager>(),
configLoader: c.resolve<ICacheConfigLoader>(),
validator: c.resolve<ICacheValidator>(),
),
);
// Register interface bindings for easier resolution
container.bind<ICacheManager>(
(c) => c.resolve<CacheManager>(),
);
}