java的设计模式有哪些

小编 147

java的设计模式大体有三大类:1.创建型设计模式;2.结构型设计模式;3.行为型设计模式。创建型设计模式主要有五种,即工厂方法设计模式、抽象工厂设计模式、单例设计模式、建造者设计模式、原型设计模式。

1.创建型模式

创建型设计模式是对象实例化的模式,可用于解耦对象的实例化过程。创建型设计模式主要有以下五种:

(1)工厂方法设计模式:定义一个创建对象的接口,让子类决定实例化那个类。

(2)抽象工厂设计模式:是提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。

(3)单例设计模式:它的定义就是确保某一个类只有一个实例,并且提供一个全局访问点。

(4)建造者设计模式:是将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。

(5)原型设计模式:是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。

2.结构型设计模式

结构型设计模式是指把类或对象结合在一起形成一个更大的结构,主要有以下七种:

(1)适配器设计模式:将一个类的方法接口转换成客户希望的另外一个接口。

(2)装饰器设计模式:动态的给对象添加新的功能。

(3)代理设计模式:为其他对象提供一个代理以便控制这个对象的访问。

(4)外观设计模式:对外提供一个统一的方法,来访问子系统中的一群接口。

(5)桥接设计模式:将抽象部分和它的实现部分分离,使它们都可以独立的变化。

(6)组合设计模式:将对象组合成树形结构以表示“”部分-整体“”的层次结构。

(7)享元设计模式:通过共享技术来有效的支持大量细粒度的对象。

3.行为型设计模式

行为型设计模式是类和对象如何交互及划分责任和算法,主要有十一种:

(1)命令设计模式:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。

(2)解释器设计模式:就是定义语言的文法,并且建立一个解释器来解释该语言中的句子。

(3)访问者设计模式:即在不改变数据结构的前提下,增加作用于一组对象元素的新功能。

(4)迭代子设计模式:是提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。

(5)中介者设计模式:就是用一个中介对象来封装一系列的对象交互。

(6)备忘录设计模式:就是在不破坏封装的前提下,捕获一个对象的内部状态。

(7)观察者设计模式:定义了对象之间的一对多依赖关系。

(8)状态设计模式:就是允许对象在内部状态发生改变时改变它的行为。

(9)策略设计模式:就是定义了算法族,分别封装起来,让他们之前可以互相转换。

(10)模板方法设计模式:就是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。

(1)责任链设计模式:是将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会。

延伸阅读

java设计模式的六大原则是什么

1.开闭原则

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简单理解就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

2.里氏代换原则

里氏代换原则面向对象设计的基本原则之一,它是对“开-闭”原则的补充。里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。实现“开-闭”原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

3.依赖倒转原则

这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

4.接口隔离原则

这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

5.迪米特法则

迪米特法则又被称为“最少知道原则”,意思是指一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6.合成复用原则

原则是尽量使用合成/聚合的方式,而不是使用继承。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部