架构简介与springboot的简单使用 (一)框架是什么

最近要给公司新入职的实习生搞培训,培训框架。刚好最近找回来了博客,这里写一篇博客记录一下。

(一)框架是什么

架构也好,其他的东西也罢,介绍一个事物的时候,总免不了三个问题:我是谁?从哪里来?到哪里去?

所以,框架三问:

我是谁?也就是说框架是什么?

  1. 我是谁?也就是说框架是什么?
  2. 从哪里来?框架是如何诞生的?
  3. 到哪里去?框架的发展趋势?

框架是什么?不同的人对于框架的理解是不相同的,在我看来,框架就是脚手架,是工具集合。

在我需要用来扭一颗螺丝的时候 ,框架就是我的螺丝刀。

我不需要用我的手一点一点的旋转这颗螺丝,而是使用螺丝刀快速直接就能达到我想要的结果。

  • 针对型的框架,就是固定的螺丝刀,一字的螺丝就得用一字的螺丝刀,同样是一字 但是小的螺丝刀扭不动大的螺丝。

  • 兼容型的框架,就是可适配的螺丝刀,一个螺丝刀柄和很多个螺丝刀头,碰到什么样的螺丝就用什么样的螺丝头。

 

  • 配置型的框架,就是电动的螺丝刀。在兼容的基础上加上了很多常见功能的配置或者注解,例如说螺丝刀的通用使用就是正时针扭动和反时针扭动,按一下按钮肯定要比自己动手扭动要方便。当然配置型的框架一般都会有一些前置工作,但是这些前置工作相对于整体的时间来说是比较少的 ,就跟电动螺丝刀要充电一样。

 

 

从哪里来?框架是如何诞生的?

从百度上面摘抄了几段话,原文如下

Hibernate:2001年,澳大利亚墨尔本一位名为Gavin King的27岁的程序员,上街买了一本SQL编程的书,他厌倦了实体bean,认为自己可以开发出一个符合对象关系映射理论,并且真正好用的Java持久化层框架,因此他需要先学习一下SQL。这一年的11月,Hibernate的第一个版本发布了

Spring:话说在很久很久以前,Spring还未诞生之时,Java企业开发一直采用Sun 公司的EJB(Enterprise Java Bean)框架,但EJB本身过于庞大,又有着非常多的开发规范,开发起来十分麻烦,更为人诟病的是很多时候大材小用,一个小型web程序根本用不着EJB的繁杂功能,这可咋办? 这时一个人驾着五彩祥云而来,拯救世界,他就是Rod Johnson,这位仁兄忍了EJB很久,终于在沉默中爆发,2002年,一篇《Expert One-On-One J2EE Development and Design》技惊四座,此文大书特书EJB的种种罪行,深合饱受其害的程序员之意,简直就是打响了反抗EJB的第一枪。此后,他再接再厉,编写了interface21框架,后来大名鼎鼎的Spring即是以此框架为基础,不断改进,并在2004年发布正式版1.0,于是乎,Spring就这样出现在大众的视野中了。

 

这里简单介绍了hibernate和spring的来源,用个人的话来总结就是:

碰到一个事情经常重复,操作起来特别麻烦,或者完成这个事情的时候太过于恶心和繁琐,大部分人同城都会抱怨,这个事情XXX。但是对于立志于改变世界的程序猿来说,就是减少重复的工作,降低操作的难度,去除繁琐的操作,而框架,就是用这只猴子用来打破这天的金箍棒。

例如说:每次获取一个List之后要判断是不是null,再判断size的大小是否符合要求。太麻烦,反正大部分时候null和size=0意义差不多,写一个通用方法。

例如说:每次传递一个参数都要手工加验证,非空,整数,小于100000的正整数,定义一个注解。

金箍棒可大可小,框架同样如此,只是框架小的时候还叫做工具类。

 

到哪里去?框架的发展趋势?

其实框架的发展史,是人类发展史的一个缩影。大家常说科技,让生活更美好,勤劳,让人更富裕。

其实,”懒惰“,也是一种激发人类灵感和前进的一种力量源泉。

从钻木取火,到火折子                 告别原始的重复劳动,随取随得

火折子,到火柴                             告别各种不安全和不稳定,长时间随身携带

火柴,到打火机,防风打火机     延长使用时间,操作难度,降低成本,去除刺鼻烟,功能提升防水防潮

这个就是人类为了获取到火,而所使用的工具升级,框架的体现升级。

总结一下,框架的发展趋势大致有如下几点:

1、更多适用环境          2、更多的自由设计      3、更多的功能

1、更少的代码              2、更少的配置              3、更少的运维

 

更多的环境:可以适配不同的软硬件环境,多平台,跨系统

更多的自由设计:可以进行更多的扩展,可以自由定义输入 输出对象 

更多的功能:可以选配很多常规的功能插件,例如任务调度,内容监控,项目运行jvm配置分析

 

更多的代码:  不需要写很多的代码。甚至不需要写代码就能直接引入使用

更少的配置:不需要写很多的配置,甚至不需要写配置就能直接引入使用

更少的运维:不需要去做专门的运维工具,就能定位到具体的问题,日志抓取,问题分析。并且做一些常规的控制优化,jvm,熔断、线程池等

总结一下:发展的趋势,就是更多的减少人力干预,而使用机器脚本来实现。释放劳动力,专注于设计而非实现。

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值