如下图:
1、假设A是一个物理层,比如磁盘,它是一个容器,类A是对他的基本抽象;
2、b,c,d,e是各种类型的文件,是脱离了物理层的高级一层的抽象,那么可以看到;
3、在操作上,我们以文件为基本对象,而不是直接操作磁盘;
4、但是操作文件的行为,比如写入,删除。。。, 最终都要反映在磁盘上,对此,磁盘提供了API来,供给他里面的元素来操作。
5、如果容器里面只有一种类型的对象,那么考虑以容器作为操作入口;
6、如果一个容器里有多种类型的对象,那么容器提供基本的API供元素调用,元素本身是操作入口。