对软件复用的划分,大致将它分成四种类型:
1.代码级复用:就是通过编写大量的公共类,公共函数等等,供开发人员直接使用。
2.组件级复用:通过将功能的组件化封装,对外提供一组或多组的API接口。
3.模块级复用:在我们开发的项目或者产品中,会发现大量重复的功能模块,比如用户管理,机构管理等等,如果我们在这些模块设计的时候,注重一下扩展性,那么可以应用到有其它类似功能的项目中。在这个级别需要一定的项目的积累,否则在模块功能上以及实用性上会遭遇风险。
4.构架级复用:构架级在设计概念上最为高级的一种。它相当于一个平台或者思想,在这个平台上,可以开发出根据此平台思想稳定而又高效的软件产品。打个比方,数据库中的设计范式可以看成是一个小的构架,你按照范式来设计数据库,一般来说设计质量是有保证的。再举个例子,Windows中的消息机制也算是一个构架,就是说在 Windows中所有运行的程序都遵循它的这个机制,并且在这个机制的保证下,运行的顺畅良好,Linux中的IP Chains也是一个非常优秀的网络防火墙构架,这个构架中其他人可以方便进行外挂程序的嵌入。我拿我们将要开发的公司内部的物资管理系统来举个例子,在这个系统中,有一个很重要的功能,那就是审批,如何把审批这个功能做好,有良好的扩展性,并且可以沿用到其他的也有审批功能的项目中,就是一个我们需要思考的问题(此处仅拿此举例,考虑到实际情况并不一定要做到这么高级)。