DELPHI 的普通程序编译出来比较大,一个空程序也要超过1M。其原因是 DELPHI 的程序把所有需要的库都编译到EXE文件里面去了。这样做有个好处:程序发布简单,只要发布一个 EXE 就搞定。
不过,当程序写得很大,又是多人开发,并且程序不断升级,可能还有多个版本的时候,采用包编译方式就有好处了。程序主体 EXE 文件很小,方便升级;程序分成很多BPL包文件,升级某个功能,只需要更换BPL包文件就可以了。
更进一步,程序调用BPL包中的功能,如果采用基于接口的方式,则程序根本不用知道BPL包中的类的类型。只要接口不变,BPL包里随便怎么更改都没关系。相当于采用接口的方式实现了多态。
多人开发的时候,每个人只要把自己负责的部分,封装为类,然后通过接口输出这个类可以提供的功能。然后把这个类和接口都编译为BPL包,把 BPL 包发布给使用这个类的其他同事就行了。这样避免开发的人面对一大堆不是自己写的代码。对于代码的管理也更简单。
好处写了这么多,怎么具体实现呢?请看下一篇。现在俺困了,要去睡个午觉了。
不过,当程序写得很大,又是多人开发,并且程序不断升级,可能还有多个版本的时候,采用包编译方式就有好处了。程序主体 EXE 文件很小,方便升级;程序分成很多BPL包文件,升级某个功能,只需要更换BPL包文件就可以了。
更进一步,程序调用BPL包中的功能,如果采用基于接口的方式,则程序根本不用知道BPL包中的类的类型。只要接口不变,BPL包里随便怎么更改都没关系。相当于采用接口的方式实现了多态。
多人开发的时候,每个人只要把自己负责的部分,封装为类,然后通过接口输出这个类可以提供的功能。然后把这个类和接口都编译为BPL包,把 BPL 包发布给使用这个类的其他同事就行了。这样避免开发的人面对一大堆不是自己写的代码。对于代码的管理也更简单。
好处写了这么多,怎么具体实现呢?请看下一篇。现在俺困了,要去睡个午觉了。