应用程序框架的局限

使用应用程序框架来开发项目,从软件项目的角度来看,可以获得更快的开发进度,更好的代码质量、复用性、扩展性、可维护性等好处。但如果换个角度思考,也会发现其它一些问题。

首先,软件开发是以人为本的,应用程序框架是某个人或某几个人大脑中知识结构的具体表现,所以应用程序框架高度依赖它的创建人,框架越强大,依赖性越高。因为其它人对这个框架内部结构不了解,扩展框架非常吃力。站在公司或老板的角度,使用应用程序框架是有一定风险的,如果框架负责人跳槽了,其它人对这个框架内部又不是很了解,甚至连源码都没有,那就很严重了,这时候可能还不如没有框架。

其次,站在项目团队成员的角度,由于大量.Net API被封装了,所以平时写代码主要使用框架提供的API。大部分公司会进行知识产权保护,所以对公司核心的框架,不会提供源代码给团队成员,只有少数核心成员才可以访问框架源码。这样一来,你逐步对本公司应用程序框架API非常熟悉,但对.Net Framework和第三方框架的认识没有什么长进。可以想像得到,你要跳槽将非常困难,因为你只能在你们公司的框架上进行工作,限制了你的发展。

综上所述,应用程序框架有利有弊。公司老板需要在项目质量和人员稳定性上进行权衡,当然由于害怕核心人员流失而采用混乱的方式开发,可能是比较愚昧的做法,更好的办法是想办法留住核心人员,或者建立核心团队。而对于使用应用程序框架开发的项目组成员,对你的忠告就是持续学习,建立自己的框架。

应用程序框架实战