LIXI.FUN
0%

IOC 和 DI 先认为是一回事儿,以理解其中的思想为主。

让调用类对某一接口实现类的依赖关系由第三方(容器或者协作类)注入,以移除调用类对某一接口实现类的依赖。

IOC 的目的是为了解耦,具体是怎么解耦的呢?

阅读全文 »

  1. windows 也有 more 命令
  2. cmd 中中文默认为 gbk
1
2
3
4
5
6
7
8
9
10
11
# 如果 more 可以直接查看皆大欢喜
# 如果不可以,查看当前窗口的编码
chcp

# 936 是 gbk

# 更改为 utf8 (并不完全对应)
chcp 65001

# 查看 utf8 格式的大文本文件
more 文件

通常大家比较的都是抽象类和接口的异同,而我这里写的是继承而不是抽象类,是因为我这里的比较对象是 “实现接口” 而不是接口这个概念。

在我看来,继承和实现接口的主要区别在于:状态。具体点儿就是父类的字段。

继承有状态的传递,而实现接口没有。

这里就有些像微服务里的 “无状态” 的说法了。

所以什么时候用继承呢?

  1. 接口的拓展,接口继承接口,这个是语法限制
  2. 有状态字段,不用继承没法

其他情况下,慎用继承。

1
2
3
var ori = '空中之城'
var res = escape(ori)
// '%u7A7A%u4E2D%u4E4B%u57CE'
1
2
3
4
5
6
import urllib

ori = '%u7A7A%u4E2D%u4E4B%u57CE'
r_ori = ori.replace('%u', '\\u').encode().decode('unicode_escape')
res = urllib.parse.unquote(r_ori)
# '空中之城'

JS 的 escape() 出来的比较早,标准是后定的,所以 python 不能直接 unquote()

JS 的非标准实现 - 维基百科