原理……

简介: 昨天跟同学讨论技术问题,没办法,几个技术男在一起讨论的不是感情问题就是技术问题,而我是一个没有感情的人,所以只能讨论技术了,哎……同学似乎有点悟性,告诉我,我给他提供的资料都是操作性的,很多原理不清楚,我开玩笑的说,大学上的那些导论,原理什么课程的时候你都不在乎,其实我也不在乎,当时都是注重如何操作,因为原理太抽象了,听起来给人昏昏欲睡的感觉,原因是自己不懂,因为不懂,就觉得没意思,然后就不听了。
昨天跟同学讨论技术问题,没办法,几个技术男在一起讨论的不是感情问题就是技术问题,而我是一个没有感情的人,所以只能讨论技术了,哎……
同学似乎有点悟性,告诉我,我给他提供的资料都是操作性的,很多原理不清楚,我开玩笑的说,大学上的那些导论,原理什么课程的时候你都不在乎,其实我也不在乎,当时都是注重如何操作,因为原理太抽象了,听起来给人昏昏欲睡的感觉,原因是自己不懂,因为不懂,就觉得没意思,然后就不听了。
现在情况似乎有点不一样,操作是一种实战过程,对于现在的很多软件来说,更是一种熟练过程。
其实熟练过程的背后以及实践的背后都有自己的理论支持,其它的不说,就软件开发的时候所遇到的生命周期这四个字,其内涵也是很丰富的。

以前写Servlet的时候,就是按照既定的方式去写方法,至于为什么不是很清楚,现在想起来这只是傻瓜式的学习方式,进步并不是很大,因为servlet是在容器中运行的,那么它的产生和消亡过程是如何?容器又是什么东西?好像很多细节我们都不清楚。
在软件开发的时候因为用到了很多框架,组件,这些以黑箱子的方式给我们封闭了很多东西,我们做的就是写几个类,修改下配置文件,然后使用这些框架。
写完类,这些类往往都是按照一定的规范,常见的就是没有参数的构造函数的类,在配置文件中用这个类名做配置文件中的一个选项,然后就直接用,但是我们知道,一个类如果没有实例化对象是没法用的,除非方法是静态的,既然对象都没有,对象拥有的方法就不可用,所以是这个框架帮我们实例化了对象
也就是说框架控制了对象的生命周期,实例化对象不难,反射就可以做到,至于其他的我们大概可以理解,但是必须清楚,做起来并不容易。

还记得自己说过的一句话“专业术语,名字,尝试用自己的话去解释”,因为这些术语背后往往有更多的原理性的东西,看看下面的几个词:组件,框架,容器

组件是抽象的概念而已,通俗的说是一些符合某种规范的类组合在一起就构成了组件。他可以提供某些特定的功能。
拿J2EE来说,有什么servlet,jsp, javabean,ejb都是组件。但实际他们都是类,只不过有他们特殊的规定。
举个例子,那个javabean来说:
javabean也就是个类,但你的类想成为javabean你必须,给你的类里的变量 (如xxx),添两个函数,getXxx()和setXxx()并且类里要有无参的构造函数。
有了这些就是JAVABEAN了。

什么是框架那,用《设计模式》中的定义来说就是,框架是构成一类特定软件可复用设计的一组相互协作的类,。。。框架规定了你的应用程序的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。

框架实现了对具体实现细节的 反向控制(IOC),实现者无须考虑框架层已经实现好的设计,只要按照框架的要求开发就可以了,然后把开发好的东西放到框架中就可以了。框架其实就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

比如Struts框架就是一组相互协作的类、servlet 和 JSP 标记组成的一个可重用的 MVC设计。它有自己实现好的模型,视图,控制器。

所谓容器就是指符合一定的规范能提供一系列服务的管理器,方便别人使用它来完成一系列的功能
例如tomcat,使用tomcat可以为我们提供servlet.jsp等服务,我们俗称叫servlet服务器,在服务器中会有相关的容器,servlet容器可以调用servlet和jsp动态的为我们生成html
对于刚刚接触的人来说,可以把服务器就理解成一个容器也可以,不过两者的确不是一回事,是服务器为我们提供一个容器使我们的程序能够在容器里运行使用服务器提供的一系列功能
相关文章
|
10月前
|
存储 Kubernetes 负载均衡
k8s是什么以及它的原理和如何去使用它?
k8s是什么以及它的原理和如何去使用它?
|
2月前
|
编译器 C++ 容器
C++模板的原理及使用
C++模板的原理及使用
|
7月前
|
存储 Kubernetes API
k8s 自身原理 1
k8s 自身原理 1
|
7月前
|
Kubernetes 监控 Cloud Native
k8s 自身原理 3
k8s 自身原理 3
|
7月前
|
Kubernetes 监控 Linux
k8s 自身原理 5
k8s 自身原理 5
|
7月前
|
Kubernetes 监控 调度
k8s 自身原理 4
k8s 自身原理 4
|
存储 缓存 算法
四、深入剖析【离屏渲染】原理
深入剖析【离屏渲染】原理
436 0
四、深入剖析【离屏渲染】原理
|
监控 Dubbo 搜索推荐
ShutdownHook原理
有了ShutdownHook我们可以 在进程结束时做一些善后工作,例如释放占用的资源,保存程序状态等 为优雅(平滑)发布提供手段,在程序关闭前摘除流量
267 0
ShutdownHook原理
说了这么多次 I/O,可你知道其中的原理么(二)
现在让我们转向对 I/O 软件的研究,I/O 软件设计一个很重要的目标就是设备独立性(device independence)。啥意思呢?这意味着我们能够编写访问任何设备的应用程序,而不用事先指定特定的设备。
说了这么多次 I/O,可你知道其中的原理么(二)
|
存储 缓存 程序员
说了这么多次 I/O,可你知道其中的原理么(三)
现在让我们转向对 I/O 软件的研究,I/O 软件设计一个很重要的目标就是设备独立性(device independence)。啥意思呢?这意味着我们能够编写访问任何设备的应用程序,而不用事先指定特定的设备。
说了这么多次 I/O,可你知道其中的原理么(三)