开发框架
框架Framework是现代编程的必备工具,它和SDK API有些区别,如果说SDK是被动调用,那么框架会主动“侵入”编程过程,要求开发人员按照框架要求进行相应编程,通过功能约束达到无形的设计约束。
好的框架应该能帮助快速高效率开发软件,但是对代码侵入性又很小,也就是说,应用代码和框架需要交互通讯的地方必须采取松耦合的方式,比如配置和元注解等方式。如果直接让应用代码通过Extend或Implement等方式继承实现,这样的框架对代码有一定侵入性,当应用代码更换成其他框架时,需要对代码重新编写,修改量非常大。
好的框架必须是轻量,而非重量,也就是说,框架的学习使用必须是简单明了的,能够让开发人员的重点关注业务逻辑代码的编写,相反,如果框架比较重量,有大量脏活会耗费开发人员的时间精力,这样的框架是重量级别的。
一个框架能够达到如下目的:
- 简化使用
- 接口一致性
- 核心功能增强
- 将离散的处理变成逻辑上的联系(通过一个对象)
可以将框架看成是一个包装器Wrapper,将一些功能和设计打包在这个包装器中。如图:
框架在开发时类似SDK API,运行时会参与应用程序的运行,以JAR包等组件库的形式出现在运行环境,框架有时也是一种容器,容器之中包装的是各种组件类,见C4模型。
框架是编程和架构之间的桥梁,框架也是平台的雏形,每个行业商家可以根据自己行业特点开发适合特定行业的框架软件。
由于抽象泄漏现象,虽然框架试图让开发人员尽量少接触到一些复杂的细节,但是随着框架使用深入,开发人员就必须探究框架一些重要机制才能对整个应用系统进行可控可调试,因此,开放源代码的框架可以让开发者直接查看源码,对于理解框架,更好地应用框架有极大作用。
框架因为加入了设计要求,因此,一般框架是将设计模式融入了开发之中,因为设计模式会在编写代码时反复使用,但是每次使用有一些微小区别,这时,将设计模式使用框架来固化下来能够大大提高应用代码的开发质量,减少应用代码的开发工作量。
框架除了满足设计目地,也有满足具体功能目的,比如与数据库交互的ORM框架,负责客户端浏览器显示的MVC框架等等,负责消息发送接收的框架等等。
中间件顾名思义是处于应用程序和基础设施之间的组件层,很显然,框架是中间件的一种组成部分,多个框架可以组成中间件。
Java框架
本站自己的开源框架:Jdon框架
Spring框架(50篇)
EJB框架
Hibernate框架(20篇)
Struts框架(20篇)
JavaEE7 Web教程(20篇)
Web框架专题
持久层框架专题
Javascript框架
前端框架
MVC模式已死
AngularJS与服务器端MVC比较
使用ReactJS + Node实现服务器端响应渲染
前端Flux架构简介
MVC模式专题
REST RESTful面向资源架构
Web框架专题
后端框架
依赖注入或依赖IOC反转控制
AOP面向方面编程
ORM对象和关系映射
中间件专题
开发框架培训咨询