Java常见设计模式?

网上有关“Java常见设计模式? ”话题很是火热,小编也是针对Java常见设计模式?寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题 ,希望能够帮助到您。

正常情况下一个设计模式描述了一个被证实可行的方案 。这些方案非常普遍,是具有完整定义的最常用的模式 。IT培训认为一般模式有4个基本要素:模式名称(patternname) 、问题(problem) 、解决方案(solution)、效果(consequences)。常见的Java设计模式有以下10种:

1、桥梁模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。

2 、合成模式(Composite):将对象组合成树形结构以表示"部分-整体"的层次结构 。它使得客户对单个对象和复合对象的使用具有一致性。

3、抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口 ,而无需指定它们具体的类。

4、装饰模式(Decorator):动态地给一个对象添加一些额外的职责 。就扩展功能而言,它能生成子类的方式更为灵活。

5 、适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口或类不兼容而不能一起工作的类可以一起工作 。

6、责任链模式(ChainofResponsibility):为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链 ,并沿着这条链传递该请求,直到有一个对象处理它。

7、工厂方法(FactoryMethod):定义一个用于创建对象的接口,让子类决定将哪一个类实例化 。FactoryMethod使一个类的实例化延迟到其子类。

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

9、门面模式(Facade):为子系统中的一组接口提供一个一致的界面,门面模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 。

10、命令模式(Command):将一个请求封装为一个对象 ,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作 。

Java中常用的设计模式有哪些?请详细说明一下工厂模式。

下面给你介绍5种设计模式:

1.单例设计模式

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

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

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

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

2.工厂设计模式

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

?3.代理设计模式

指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如生活中的通过代理访问网络 ,客户通过网络代理连接网络(具体业务),由代理服务器完成用户权限和访问限制等与上网相关的其他操作(相关业务)。

?4.观察者设计模式

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

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

?5.适配器模式

如果一个类要实现一个具有很多抽象方法的接口,但是本身只需要实现接口中的部分方法便可以达成目的,所以此时就需要一个中间的过渡类 ,但此过渡类又不希望直接使用,所以将此类定义为抽象类最为合适,再让以后的子类直接继承该抽象类便可选择性的覆写所需要的方法 ,而此抽象类便是适配器类 。

1.单例模式(有的书上说叫单态模式其实都一样)

该模式主要目的是使内存中保持1个对象

2.工厂模式

该模式主要功能是统一提供实例对象的引用。看下面的例子:

public class Factory{

public ClassesDao getClassesDao(){

ClassesDao cd = new ClassesDaoImpl();

return cd;

}

}

interface ClassesDao{

public String getClassesName();

}

class ClassesDaoImpl implements ClassesDao {

public String getClassesName(){

System.out.println("A班");

}

}

class test

{

public static void main(String[] args){

Factory f = new Factory();

f.getClassesDao().getClassesName();

}

}

这个是最简单的例子了 ,就是通过工厂方法通过接口获取对象的引用

3.建造模式

该模式其实就是说,一个对象的组成可能有很多其他的对象一起组成的,比如说 ,一个对象的实现非常复杂,有很多的属性,而这些属性又是其他对象的引用 ,可能这些对象的引用又包括很多的对象引用。封装这些复杂性,就可以使用建造模式 。

4.门面模式

这个模式个人感觉像是Service层的一个翻版 。比如Dao我们定义了很多持久化方法,我们通过Service层将Dao的原子方法组成业务逻辑 ,再通过方法向上层提供服务。门面模式道理其实是一样的。

5.策略模式

这个模式是将行为的抽象,即当有几个类有相似的方法,将其中通用的部分都提取出来 ,从而使扩展更容易 。

关于“Java常见设计模式? ”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

(48)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 凡筠的头像
    凡筠 2025年12月23日

    我是乐信号的签约作者“凡筠”

  • 凡筠
    凡筠 2025年12月23日

    本文概览:网上有关“Java常见设计模式?”话题很是火热,小编也是针对Java常见设计模式?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。正常情...

  • 凡筠
    用户122305 2025年12月23日

    文章不错《Java常见设计模式?》内容很有帮助

联系我们:

邮件:乐信号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信