766培训网
电脑培训
Java有哪些设计模式

Java有哪些设计模式

发布时间 :2021-03-30 14:53:47 浏览量:0 收藏
导读:

Java常用的设计模式有五种:1、单例设计模式;2、工厂设计模式;3、代理设计模式;4、观察者设计模式;5、适配器模式。以下是关于Java有哪些设计模式的具体介绍。

Java有哪些设计模式

Java常用的设计模式是什么

1、单例设计模式:所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。具体实现步骤如下:

(1)将采用单例设计模式的类的构造方法私有化(采用private修饰)。

(2)在其内部产生该类的实例化对象,并将其封装成private static类型。

(3)定义一个静态方法返回该类的实例。

2、工厂设计模式:程序在接口和子类之间加入了一个过渡端,通过此过渡端可以动态取得实现了共同接口的子类实例化对象。

3、代理设计模式:指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。

比如生活中的通过代理访问网络,客户通过网络代理连接网络(具体业务),由代理服务器完成用户权限和访问限制等与上网相关的其他操作(相关业务)。

4、观察者设计模式:所谓观察者模式,举个例子现在许多购房者都密切观察者房价的变化,当房价变化时,所有购房者都能观察到,以上的购房者属于观察者,这便是观察者模式。

Java中可以借助Observable类和Observer接口轻松实现以上功能。当然此种模式的实现也不仅仅局限于采用这两个类。

5、适配器模式:如果一个类要实现一个具有很多抽象方法的接口,但是本身需要要实现接口中的部分方法便可以达成目的。

所以此时就需要一个中间的过渡类,但此过渡类又不希望直接使用,所以将此类定义为抽象类最为合适,再让以后的子类直接继承该抽象类便可选择性的覆写所需要的方法,而此抽象类便是适配器类。

Java开发常用框架是什么

1、Struts是一个基于Sun Java EE平台的MVC框架,主要是采用SERVLET和JSP技术来实现的。

Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关: 模型、视图、控制器、一堆用来做XML文件解析的工具包。

2、Spring是轻量级的Java EE应用程序框架。Spring的核心是个轻量级容器,实现了IOC模式的容器,Spring的目标是实现一个多方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案。

3、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库

Hibernate可以在应用EJB的Java EE架构中取代CMP,完成数据持久化。它还可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在SERVLET/JSP的Web应用中使用

4、Swing:图形用户接口(GUI)库最初的设计目的是让程序员构建一个通用的GUI,使其在所有的平台上都能够正常的显示。所有的Swing组件都是AWT的容器。Swing采用了MVC设计模式。

JSP的内置对象有哪些

1、Request对象。Request对象是javax.servlet.http.HtupServletRequest类的实例。代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。比如表单中的数据、网页地址后带的参数等。

2、Response对象。Response对象是javax.servlet.http.HttpServletResponse类的实例。

代表响应对象,主要用于向客户端发送数据。

3、Out对象。Out对象是javax.servletjspjspWriter类的实例。主要用于向客户端浏览器输出数据。

4、session对象。Session对象是javax.servlet.htp.Http session类的实例。主要用来保持在服务器与一个客户端之间需要保留的数据,比如在会话期间保持用户的登录信息等,会话状态维持是Web应用开发者必须面对的问题。

当客户端关闭网站的所有网页或关闭浏览器时,session对象中保存的数据会自动清除。由于Htp协议是一个无状态协议,不保留会话间的数据,因此通过session对象扩展了htp的功能。

比如用户登录一个网站之后,登录信息会暂时保存在session对象中,打开不同的页面时,登录信息是可以共享的,一旦用户关闭浏览器或退出登录,就会清除session对象中保存的登录信息。

5、Application对象。Application对象是javax.servlet.ServletContext类的实例。主要用于保存用户信息,代码片段的运行环境;它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享。

6。PageContext对象。PageContext对象是javax.servlet.jsp.PageContext类的实例。用来管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由JSP容器来完成的。

7、Config对象。Config对象是javax.servlet.ServletConfig类的实例。是代码片段配置对象,表示Servlet的配置。

8、Page(相当于this)对象。Page对象是javax.servlet.jsp.HttpJspPage类的实例。用来处理JSP网页,它指的是JSP页面对象本身,或者说代表编译后的servlet对象,只有在JSP页面范围之内才是合法的。

9、Exception对象。Exception对象是java.lang.Throwable类的实例。处理JSP文件执行时发生的错误和异常只有在JSP页面的page指令中指定isErrorPage=“true”后,才可以在本页面使用exception对象。

需要说明的是,pageContext中的属性默认在当前页面是共享的;session中的属性在当前session中是共享的;application对象中的属性则对所有页面都是共享的。