对象所有权

在软件设计中许多问题可以归结为对象的归属不明确:

比如,打开一个设备,这个设备的由谁来持有,它又有怎样的生命周期?拥有这个设备的对象又被谁拥有?有怎样的生命周期?这都是造成软件bug的问题。

一旦明确了对象的所属,责任的划分也就明确了,散乱的逻辑和变量也就得以集中,也就不会出现判断逻辑满天飞、设备没关闭、对象不释放的问题了。