service_manager 0.1.2 copy "service_manager: ^0.1.2" to clipboard
service_manager: ^0.1.2 copied to clipboard

Dart 1 only

A service manager implementation for bootstraping dependency injection

Service Manager #

A service manager to use as a dependency injection bootstrapper.

Example #

services/config_factory.dart

import 'dart:async';
import 'package:service_manager/service_manager.dart';

class ConfigFactory extends ServiceFactory {

  Future<Map> make(ServiceManager serviceManager) {
    var completer = new Completer();
    completer.complete({
      "zookeeper": [
        {
            "host": "zookeeper001-prod",
            "prot": 2181
        },
          {
          "host": "zookeeper002-prod",
          "prot": 2181
        },
          {
            "host": "zookeeper003-prod",
            "prot": 2181
          }
        ]
    });
    return completer.future;
  }

}

services/zookeeper_factory.dart (depends on the config service)

import 'dart:async';
import 'package:service_manager/service_manager.dart';

class ZookeeperFactory extends ServiceFactory {

  Future<Map> make(ServiceManager serviceManager) {
    return serviceManager.get("config").then((config) {
      return config["zookeeper"];
    });
  }

}

main.dart

import 'package:service_manager/service_manager.dart';
import './services/config_factory.dart';
import './services/zookeeper_factory.dart';

main() {

  var serviceManager = new ServiceManager({
    "config":    new ConfigFactory(),
    "zookeeper": new ZookeeperFactory()
  });

  serviceManager.get("zookeeper").then((zookeeper) {
    print(zookeeper);
  });

}
0
likes
25
pub points
7%
popularity

Publisher

unverified uploader

A service manager implementation for bootstraping dependency injection

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

dictionary

More

Packages that depend on service_manager