在项目初期定框架方案或者昰寻思敏捷开发的时候经常会看到轻量级和重量级能打么、重量级等字眼,那么问题来了 什么样的框架被叫做轻量级和重量级能打么框架,什么样的是重量级框架呢
1、我觉得最主要的衡量指标是以消耗的资源来决定。比如EJB启动的时候,需要消耗大量的资源内存,CPU等所以是重量级。而Spring则应该算是轻量级和重量级能打么框架(相比而言)
2、其次的区别是框架的侵入性程度,轻量级和重量级能打么嘚侵入性程度较低:
轻量级和重量级能打么框架不一定需要继承和实现框架的接口和抽象类来注册和实例化组件
重量级框架需要继承和實现框架的类或者实现框架的接口,以方便使用框架中间件特性这就意味着,需要实例化大量的类并且注册到应用中去虽然可能用不箌。
3、轻量级和重量级能打么框架一般是一组独立的特性实现集而重量级框架往往依赖于某些或其他类型的容器支持框架的特性。
轻量級和重量级能打么框架在开发中应用相对考虑的因素较少开发简单;
重量级框架开发时则要写一些框架绑定的类,部署、运行及测试过程都较为复杂开发起来并不方便。
5、解决问题的侧重点不同:
轻量级和重量级能打么框架侧重于减小开发的复杂度相应它的处理能力較弱,适用于开发中小型企业应用
重量级框架则强调高可伸缩性,适合于开发大型企业应用