ONOS如何在执行命令时找到对于有的实现类

DevicInterfaceListCommand
DeviceService=get(DeviceService.class)
DriverService=get(DriverService.class)
通过DeviceService获得对应的Device,------------------------->通过DeviceStore来获得
对每个Device创建DriverHandler-------------------------------- >driverService.createHandler()[实际进入DriverManager]
                                                                                通过deviceId获得Device(从store获得)
                                                                                                      通过device获得driverName
                                                                                                      通过driverName获得driver(DriverManager里的map中得到)
                                                                                                      通过driver和driverId创建DefaultDriverDate
                            得到handler< ---------------------------------------通过DefaultDriverDate初始化DefaultDriverHandle
通过DriverHandler来获得InterfaceConfig
这一handlervehaviour的具体实现(例如:
InterfaceConfigJuniperIosImpl)------------------------------------->DefaultDriverHandler
                                                                                使用里面的DriverData里的driver,将需要被实现的behavior接口类作为参                                                                                                            数,找到这个接口的具体实现
                                                                                                       
                                                                                DefalutDriver
                                                                                createBehavious(handler.data(),handler,behaviourclass)其作用就是                                                                                                         把driver里的behavious里存的具体的实现类返回给请求者。
根据返回的类进行对应的操作<--------------------------------------------



可以看出handler的具体作用就是为了找到具体的实现类。如果我写,可能直接就去driver里面找它对应的behaviours了。但是如果加上了一个handler以后,就等于把这个创建behavior的动作封装了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值