软件开发过程需要面临的挑战就是环境管理问题,因为开发出的软件想要在用户的电脑或者手机上跑起来,是需要调用设备系统的接口和功能的,所以说软件对其余设备上的软件依赖很高,包括对操作系统,各种库等
而且开发软件的时候依赖的是一个版本的操作系统,但是当系统升级后也需要兼容到,不然开发的软件就会很没有使用便利性
如果将一个软件的开发按照集装箱的思路去设计,也就是说他需要的任何依赖库也好,需要的操作系统也好,都一并封装到一个安装包中,当用户安装我们开发的软件的时候,其实相当于他安装了小而全的集装箱,也就是相当于一个小的虚拟全世界,
我们的软件在他自己小而全的集装箱中可以独立的跑起来
不过这个思路可在电脑里头装的虚拟机不太一样,虚拟机是固定占用一个空间,但是集装箱不是,只占用他需要的空间