关于方法库封装的感悟
通常我们在使用某个库或者引擎时,习惯针对自己的用法进行更便于自身使用的二次封装。这样不仅简化了对这个库了使用代价,更简化了对新手对该库的认知成本。
一、简单的封装,我们通常以一个头文件配一个CPP的形式进行简单的封装,使用时直接添加到工程文件夹中,再加入到筛选器中即可。
这种方法实施最简单,修改库也非常简便,用法也通常没有高级感。缺点是引入库之后,文件通常要与原工程文件杂乱的丢在一个文件夹中,当需要再次使用该库时,需要认真挑选出这些库文件,并在新的工程中添加这些文件。
如果,将这些文件统一单独用文件夹封起来,则还需要修改添加源文件目录。并且,因为这些文件都不在原始工程目录下,需要修改编译头的路径,如此一来,又需要设置这些源文件不使用预编译头。对这些文件的复用过程可谓十分不便。
二、另一个常用的方法,通常是作为Lib库提供出来。常常,提供必要的头文件,用来暴露接口,再发布Lib库编译封装的源文件,用户仅需在工程配置中添加附加库目录(链接.lib文件),和包含目录(引入头文件)即可。
除对某些常用方法进行封装外,此方法也适用于对框架、样例等模块化清晰的部分进行封装。
三、使用动态库。该方法对于文件体积有要求场合,比静态库更合适。
以上适用于方法级别的封装,如果需要对一个特定功能进行封装,则使用组件、控件或者服务等方式进行封装。