IOC 和 DI 先认为是一回事儿,以理解其中的思想为主。
让调用类对某一接口实现类的依赖关系由第三方(容器或者协作类)注入,以移除调用类对某一接口实现类的依赖。
IOC 的目的是为了解耦,具体是怎么解耦的呢?
IOC 和 DI 先认为是一回事儿,以理解其中的思想为主。
让调用类对某一接口实现类的依赖关系由第三方(容器或者协作类)注入,以移除调用类对某一接口实现类的依赖。
IOC 的目的是为了解耦,具体是怎么解耦的呢?
more 命令gbk1 | # 如果 more 可以直接查看皆大欢喜 |
通常大家比较的都是抽象类和接口的异同,而我这里写的是继承而不是抽象类,是因为我这里的比较对象是 “实现接口” 而不是接口这个概念。
在我看来,继承和实现接口的主要区别在于:状态。具体点儿就是父类的字段。
继承有状态的传递,而实现接口没有。
这里就有些像微服务里的 “无状态” 的说法了。
所以什么时候用继承呢?
其他情况下,慎用继承。
1 | var ori = '空中之城' |
1 | import urllib |
JS 的 escape() 出来的比较早,标准是后定的,所以 python 不能直接 unquote()