一个轻量级的 Command Bus 的实现,用 Swift 编写。
使用:
{ "{CommandNameA}": "{CommandHandlerNameA}", "{CommandNameB}": "{CommandHandlerNameB}", "{CommandNameC}": "{CommandHandlerNameC}" } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() /*** Register to the Command event ***/ NSNotificationCenter.defaultCenter().addObserver(self, selector: "onCommandHandled:", name:"COMMAND_DONE", object: nil) /*** Create the CommandBus ***/ let commandBus: CommandBus = CommandBus(configurationFileName: "configuration")! /*** Create your own CommandHandler ***/ let customCommand: CustomCommand = CustomCommand() /*** Send your commandHandler to the CommandBus with your event name ***/ commandBus.handle(command: customCommand, commandHandledEvent: "COMMAND_DONE") } func onCommandHandled(notification: NSNotification) { /*** This method is called when the CommandHandler have done ***/ print("Command Handled: \(notification.object!)") } }