首页编程java编程java设计模式和应用场景 java编辑器手机版

java设计模式和应用场景 java编辑器手机版

编程之家2026-06-031151次浏览

大家好,今天小编来为大家解答java设计模式和应用场景这个问题,java编辑器手机版很多人还不知道,现在让我们一起来看看吧!

java设计模式和应用场景 java编辑器手机版

java 设计模式用了哪些

在JDK(Java Development Kit)类库中,开发人员使用了大量设计模式,正因为如此,我们可以在不修改JDK源码的前提下开发出自己的应用软件,研究JDK类库中的模式实例也不失为学习如何使用设计模式的一个好方式。

创建型模式:(1)抽象工厂模式(Abstract Factory)

•Java.util.Calendar#getInstance()

•java.util.Arrays#asList()

•java.util.ResourceBundle#getBundle()

•java.NET.URL#openConnection()

java设计模式和应用场景 java编辑器手机版

•java.sql.DriverManager#getConnection()

•java.sql.Connection#createStatement()

•java.sql.Statement#executeQuery()

•java.text.NumberFormat#getInstance()

•java.lang.management.ManagementFactory(所有getXXX()方法)

•java.nio.charset.Charset#forName()

java设计模式和应用场景 java编辑器手机版

•javax.xml.parsers.DocumentBuilderFactory#newInstance()

•javax.xml.transform.TransformerFactory#newInstance()

•javax.xml.xpath.XPathFactory#newInstance()

(2)建造者模式(Builder)

•java.lang.StringBuilder#append()

•java.lang.StringBuffer#append()

•java.nio.ByteBuffer#put()(CharBuffer, ShortBuffer, IntBuffer,LongBuffer, FloatBuffer和DoubleBuffer与之类似)

•javax.swing.GroupLayout.Group#addComponent()

•java.sql.PreparedStatement

•java.lang.Appendable的所有实现类

(3)工厂方法模式(Factory Method)

•java.lang.Object#toString()(在其子类中可以覆盖该方法)

•java.lang.Class#newInstance()

•java.lang.Integer#valueOf(String)(Boolean, Byte, Character,Short, Long, Float和Double与之类似)

•java.lang.Class#forName()

•java.lang.reflect.Array#newInstance()

•java.lang.reflect.Constructor#newInstance()

(4)原型模式(Prototype)

•java.lang.Object#clone()(支持浅克隆的类必须实现java.lang.Cloneable接口)

(5)单例模式(Singleton)

•java.lang.Runtime#getRuntime()

•java.awt.Desktop#getDesktop()

结构型模式:(1)适配器模式(Adapter)

•java.util.Arrays#asList()

•javax.swing.JTable(TableModel)

•java.io.InputStreamReader(InputStream)

•java.io.OutputStreamWriter(OutputStream)

•javax.xml.bind.annotation.adapters.XmlAdapter#marshal()

•javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal()

(2)桥接模式(Bridge)

•AWT(提供了抽象层映射于实际的操作系统)

•JDBC

(3)组合模式(Composite)

•javax.swing.JComponent#add(Component)

•java.awt.Container#add(Component)

•java.util.Map#putAll(Map)

•java.util.List#addAll(Collection)

•java.util.Set#addAll(Collection)

(4)装饰模式(Decorator)

•java.io.BufferedInputStream(InputStream)

•java.io.DataInputStream(InputStream)

•java.io.BufferedOutputStream(OutputStream)

•java.util.zip.ZipOutputStream(OutputStream)

•java.util.Collections#checked[List|Map|Set|SortedSet|SortedMap]()

(5)外观模式(Facade)

•java.lang.Class

•javax.faces.webapp.FacesServlet

(6)享元模式(Flyweight)

•java.lang.Integer#valueOf(int)

•java.lang.Boolean#valueOf(boolean)

•java.lang.Byte#valueOf(byte)

•java.lang.Character#valueOf(char)

(7)代理模式(Proxy)

•java.lang.reflect.Proxy

•java.rmi.*

行为型模式:(1)职责链模式(Chain of Responsibility)

•java.util.logging.Logger#log()

•javax.servlet.Filter#doFilter()

(2)命令模式(Command)

•java.lang.Runnable

•javax.swing.Action

(3)解释器模式(Interpreter)

•java.util.Pattern

•java.text.Normalizer

•java.text.Format

•javax.el.ELResolver

(4)迭代器模式(Iterator)

•java.util.Iterator

•java.util.Enumeration

(5)中介者模式(Mediator)

•java.util.Timer(所有scheduleXXX()方法)

•java.util.concurrent.Executor#execute()

•java.util.concurrent.ExecutorService(invokeXXX()和submit()方法)

•java.util.concurrent.ScheduledExecutorService(所有scheduleXXX()方法)

•java.lang.reflect.Method#invoke()

(6)备忘录模式(Memento)

•java.util.Date

•java.io.Serializable

•javax.faces.component.StateHolder

(7)观察者模式(Observer)

•java.util.Observer/java.util.Observable

•java.util.EventListener(所有子类)

•javax.servlet.http.HttpSessionBindingListener

•javax.servlet.http.HttpSessionAttributeListener

•javax.faces.event.PhaseListener

(8)状态模式(State)

•java.util.Iterator

•javax.faces.lifecycle.LifeCycle#execute()

(9)策略模式(Strategy)

•java.util.Comparator#compare()

•javax.servlet.http.HttpServlet

•javax.servlet.Filter#doFilter()

(10)模板方法模式(Template Method)

•java.io.InputStream, java.io.OutputStream, java.io.Reader和java.io.Writer的所有非抽象方法

•java.util.AbstractList, java.util.AbstractSet和java.util.AbstractMap的所有非抽象方法

•javax.servlet.http.HttpServlet#doXXX()

(11)访问者模式(Visitor)

•javax.lang.model.element.AnnotationValue和AnnotationValueVisitor

•javax.lang.model.element.Element和ElementVisitor

•javax.lang.model.type.TypeMirror和TypeVisitor

java常用的的设计模式和开发模式都有哪些

设计模式主要分三个类型、创建型、结构型和行为型。设计模式分:3种类型及23种模式。

JAVA中的开发模式:MVC是一个很常用的程序开发设计模式,M-Model(模型):封装应用程序的状态;V-View(视图):表示用户界面;C-Controller(控制器):对用户的输入作出反应,创建并设置模型。

扩展资料

创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

参考资料:百度百科设计模式

百度百科 JAVA

java面试中主要掌握的设计模式有哪些

java面试

设计模式主要分三个类型:创建型、结构型和行为型。

其中创建型有:

一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点

二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。

三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。

四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。

五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。

行为型有:

六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。

七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。

八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。

九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。

十、State,状态模式:允许对象在其内部状态改变时改变他的行为。对象看起来似乎改变了他的类。

十一、Strategy,策略模式:定义一系列的算法,把他们一个个封装起来,并使他们可以互相替换,本模式使得算法可以独立于使用它们的客户。

十二、China of Responsibility,职责链模式:使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的

开发模式:

JAVA中的开发模式:

MVC是一个很常用的程序开发设计模式,M-Model(模型)

关于java设计模式和应用场景,java编辑器手机版的介绍到此结束,希望对大家有所帮助。

c语言入门到精通 c语言从入门到精通java数组的方法 java定义数组的三种类型