如何理解框架
2017-08-22 09:01
232 查看
一,框架
封装了目标性非常强的处理逻辑,它专注于解决某一特定领域的问题,并致力于为这一特定领域提供通用的解决方案,框架是一个半成品的应用。由于领域的种类是如此众多,所以框架必须具有针对性,比如,专门用于解决底层通信的框架。框架中也包含了很多元素,但是这些元素之间关系的紧密程度要远远大于类库中元素之间的关系,框架中的所有元素都为了实现一个共同的目标而相互协作。
二,通用框架与应用框架
如果要对框架进行进一步分类,则可以根据框架是否具有通用性而将它们分为通用框架(General Framework)和应用框架(Application Framework)。通用框架可以在不同类型的应用中使用,而应用框架只被使用于某一特定类型的应用中。例如:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,与数据库的操作都可以使用这个框架,这就是一个通用性的框架。而某个金融框架则是一个应用框架,它仅仅被用于金融类型的应用中。
三,使用框架
当一个应用系统选定了框架之后,我们需要做的就是在框架提供扩展点的地方添加应用的具体逻辑,也就是使用"血"和"肉"来填充这个骨架从而得到一个“有机体”。由于框架通常都是在实践中经过反复使用和检验的,所以质量有一定的保证,这使得我们用更少的时间、更少的编码来实现一个更稳定的系统。当然,框架使得我们的系统在有所支撑的同时,它也给出了限制。因为通常当我们确定采用了某一个框架之后,我们就必须在这个框架限制的"框框"之内来构建我们的应用。大多数时候,这不是一个问题,但是如果因为框架的限制而严重影响了我们系统目标的实现的时候,我们就需要考虑是否应该放弃这个框架,或者换一个其它的同类型的框架。
四,框架的优点
1,框架使得我们开发应用的速度更快、质量更高、成本更低。
2,框架往往是这样产生的,我们拥有了开发某种类型应用的大量经验,我们总结这种类型的应用中共性的东西,将其提炼到一个高的层次中。这个"高层次"的东西便是框架的原型。我们使用框架,就是依赖于框架中这些"高层次"的东西,为系统提供了很强的扩展性。
封装了目标性非常强的处理逻辑,它专注于解决某一特定领域的问题,并致力于为这一特定领域提供通用的解决方案,框架是一个半成品的应用。由于领域的种类是如此众多,所以框架必须具有针对性,比如,专门用于解决底层通信的框架。框架中也包含了很多元素,但是这些元素之间关系的紧密程度要远远大于类库中元素之间的关系,框架中的所有元素都为了实现一个共同的目标而相互协作。
二,通用框架与应用框架
如果要对框架进行进一步分类,则可以根据框架是否具有通用性而将它们分为通用框架(General Framework)和应用框架(Application Framework)。通用框架可以在不同类型的应用中使用,而应用框架只被使用于某一特定类型的应用中。例如:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,与数据库的操作都可以使用这个框架,这就是一个通用性的框架。而某个金融框架则是一个应用框架,它仅仅被用于金融类型的应用中。
三,使用框架
当一个应用系统选定了框架之后,我们需要做的就是在框架提供扩展点的地方添加应用的具体逻辑,也就是使用"血"和"肉"来填充这个骨架从而得到一个“有机体”。由于框架通常都是在实践中经过反复使用和检验的,所以质量有一定的保证,这使得我们用更少的时间、更少的编码来实现一个更稳定的系统。当然,框架使得我们的系统在有所支撑的同时,它也给出了限制。因为通常当我们确定采用了某一个框架之后,我们就必须在这个框架限制的"框框"之内来构建我们的应用。大多数时候,这不是一个问题,但是如果因为框架的限制而严重影响了我们系统目标的实现的时候,我们就需要考虑是否应该放弃这个框架,或者换一个其它的同类型的框架。
四,框架的优点
1,框架使得我们开发应用的速度更快、质量更高、成本更低。
2,框架往往是这样产生的,我们拥有了开发某种类型应用的大量经验,我们总结这种类型的应用中共性的东西,将其提炼到一个高的层次中。这个"高层次"的东西便是框架的原型。我们使用框架,就是依赖于框架中这些"高层次"的东西,为系统提供了很强的扩展性。
相关文章推荐
- 如何理解 ssh 三大框架
- 如何成为一个好QA?从理解业务框架开始
- 如何理解Python的web框架tornado文档里面的用户认证的self.current_user?
- 网络框架中如何理解正向代理和反向代理
- 如何深入理解PhalApi框架三层结构Api+Domain+Model模式
- C++框架如何正确理解
- C++框架如何正确理解(转)
- 如何理解js框架与js类库的不同?
- 理解Web框架,和如何构建一个CSS框架
- 如何理解前端框架中的MVVM,MVC,MVW?他们的区别和适用场景分别是什么?
- (6)理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理||抛弃框架,如何实现分层架构下JDBC事务的控制
- 如何理解js框架与js类库的不同?
- 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)结合二叉树(适合数据结构方面的理解)
- Linux总线设备驱动框架的理解(非常棒的文章!)
- 如何理解JavaScript、Java、Jsp、J2ee之间的关系与区别
- 一个简单RPC框架是如何炼成的(I)——开局篇
- 如何使用ZBLibrary-Android快速开发框架
- struts、spring、hibernate三个框架的理解
- hibernate中的SessionFactory,Session分别表示什么,如何理解
- 安卓数据库框架LitePal(三):如何升级表版本