1、框架到底是什么,干什么的

框架就是一套规范。既然是规范,你使用这个框架就要遵守这个框架所规定的约束。在Java开发中,框架是用一套规则+一群jar包来表示的

2、我们为什么要使用框架?

(1)原因:就好比盖房子,有10个人一起合作盖,此时,框架就好比图纸。如果没有盖房子的图纸,那么每个人都有自己的想法,那么盖出的房子一定不是房主想要的。而有了图纸,就可以约束每个人要怎么盖我们的房子,砌砖的要切成什么样子,方向的门要超南朝北等都被约束了。这样便于团队的合作与开发。放在我们的开发中,如果一个类的名字,A同学起名字叫A.java B同学起名教B.java,可是其实这两个类的功能是一样的,但是就是因为没有规范,所以造成了混乱,不利于团队合作与开发,如果使用了框架,框架就会对类的名字有约束,比如Struts,控制类我们都起名字叫**Action 这样很容易让人看明白功能

(2)意义:框架不仅仅只完成这些简单的约束,更重要的是,框架为我们封装好了一些冗余,且重用率低的代码。并且使用反射与动态代理机制,将代码实现了通用性。比如如果你说servlet开发,你需要在servlet获取表单的参数,每次都要获取很麻烦,而struts底层就使用反射机制和拦截器机制帮助我们获取表单的值,我们就不用每次都手写那些代码了,简化了开发,当然你必须遵守一些规定来配置。还有比如hibernate,它提供了一些通用性很强的对数据库的增删改差,如果你使用jdbc每次做一些简单的crud的时候都必须写sql,但使用hibernate就不需要这么麻烦了,直接save,update就可以了…当然,你还是要遵循其一些规范而配置。同理spring也是如此

(3)怎么使用刚才说了,框架在java中是通过jar体现的。如果使用这个是学习的东西,我也没法讲,但首先你需要把jar导入,才可以使用其“规定”。先写个helloworld

3、框架的好处和缺点

框架的好处已经说了很多了,便于团队开发,提供了一些现成的机制,简化开发难度,还有些框架可以解耦等,比如spring。缺点就是效率上没有servlet开发高,但是随着硬件的提高,这些也不是什么问题。差异不大,其实如果要求效率的话,servlet+jdbc是最好的,但多方面考虑的话,使用框架更好

库的包文件
其实框架和库的联系是很紧密的,我的理解就是不论是框架还是库都是为了提高我们开发的效率而存在的。库的使用上会简单一些,但是功能不是很全面,而框架的功能很全面但是需要我们按照它的规定去使用

编程中的框架和库简介相关推荐

  1. 网络编程知识预备(5) ——libcurl库简介及其编程访问百度首页

    本文为学习笔记,整合课程内容以及下列文章: 其中,libcurl函数库常用字段解读部分: 参考博文:原文地址 作者:冬冬他哥哥 目录 Libcurl库简介 Libcurl等三方库的通用编译方法 三方库 ...

  2. python中的框架、库、包、模块都是什么意思_【扫盲】模块 库 框架 包

    主要参考: [1]. python模块.包.库.框架_小澄の博客-CSDN博客_模块 包 https://blog.csdn.net/weixin_45765473/article/details/1 ...

  3. 商业项目中选择框架和库的原则

    产出商业项目的基本点: 高效高质量的产出产品. 成本和效率变得尤为重要. 迭代周期长,长效性,代码可维护性. 基本前提:成本和效率问题 实现目标的成本和效率 团队协作的成本和效率 后续迭代的成本和效率 ...

  4. C/C++ 编程中多国语言处理

    C/C++ 编程中多国语言处理 简介: 多国语言的存在,使程序员在编码处理上花费了大量时间和精力:然而各种各样的乱码问题,如 XML 格式错误.文本显示异常.解析器异常等依然层出不穷.特别的,相对于 ...

  5. Interview之AI:人工智能领域岗位求职面试—人工智能算法工程师知识框架及课程大纲(AI基础之数学基础/数据结构与算法/编程学习基础、ML算法简介、DL算法简介)来理解技术交互流程

    Interview之AI:人工智能领域岗位求职面试-人工智能算法工程师知识框架及课程大纲(AI基础之数学基础/数据结构与算法/编程学习基础.ML算法简介.DL算法简介)来理解技术交互流程 目录 一.A ...

  6. c++中algorithm头文件、STL库简介及使用说明

    c++中algorithm头文件.STL库简介及使用说明 c++中algorithm头文件是STL的算法部分,里边定义了各种算法,比如sort之类的.加上algorithm就可以使用stl库里的各种算 ...

  7. 决策树编程python_Python如何制定决策:编程中的控制流简介

    决策树编程python by Ivan Leo 伊万·利奥(Ivan Leo) Python如何制定决策:编程中的控制流简介 (How Python makes decisions: an intro ...

  8. java程序设计专业介绍_简介Java编程中的Object类

    这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...

  9. c51语言的标准库函的头文件,C51编程中头文件的使用

    头文件在C51的编程中是不可缺少的部分.本文将对keil C中常用头文件予以说明,并就如何编写头文件进行初步介绍. 一.C51常见本征函数库 一些常见的头文件都是keil C自带的,在安装目录下的C5 ...

最新文章

  1. 【Spring Security】五、自定义过滤器
  2. Improved long read correction for de novo assembly using an FM-index
  3. 多路复用 I/O 模型详解, 为什么他能支持更高的并发
  4. SAP MM 如何通过SAP User ID拿到User的基本信息?
  5. MD5SHA加密util类(Java)
  6. vue项目运行启动方法(从github上下载了一个前端项目进行运行)
  7. atlas mysql 读写分离_MySQL读写分离工具Atlas
  8. java int 和 long比较大小会_解析java的addExact()与multiplyExact()
  9. dtoj#4179. 排行(rank)
  10. python自学看什么书-自学Python要看哪些书?有什么推荐?
  11. FastTFT V15.0.1免狗安装包下载
  12. 一步步教你破解WIFI无线WEP网络密钥
  13. matlab输入二项分布函数,MATLAB如何使用binornd函数生成二项分布随机数
  14. 系统集成项目管理工程师教程———活动历时估算所采用的主要方法和技术
  15. 微信小程序云开发如何实现读取和下载excel文件导入数据到云数据库中?简单好理解
  16. arduino控制超声波传感器
  17. topcoder 第一次比赛
  18. 问题解决:[/usr/lib/systemd/system/etcd.service:6] Missing ‘=‘.
  19. 初出茅庐 你好C语言
  20. 【DDD】三个火枪手原则和两个披萨原则

热门文章

  1. java笛卡尔积算法实现
  2. iOS学习笔记2(结合项目)--Category和Extension的区别
  3. 安卓仿手机网易新闻app项目开发系列之(一)项目简介和 界面搭建
  4. 模拟电子技术(1)课程教学大纲
  5. Netty服务器搭建
  6. master数据库是什么
  7. QT 操作 sqlite数据库(二)----问题与其解决方案
  8. JAVA SE 基础复习-IO与序列化(4)
  9. 操作系统expected ‘void * (*)(void *)’ but argument is of type ‘void * (*)(void)’
  10. DSP中的C语言(一)——int16、Uint16、float32等定义的用法和区别