自学内容网 自学内容网

设计模式复习

三大类:创建型模式 结构型模式 行为型模式

创建型模式:工厂方法,抽象工厂模式,单例模式,建造者模式,原型模式

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

行为型模式:责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,状态模式,策略模式,模板模式,访问者模式,观察者模式

简单工厂模式(静态工厂)

工厂角色:简单工厂模式的核心,负责创建所有实例的内部逻辑

抽象产品角色:简单工厂模式所创建的所有对象的父类,负责描述实例共有的公共接口

具体产品角色:是简单工厂模式的创建目标,所有创建对象充当这个角色的某个具体类的实例

工厂方法

去掉了简单工厂模式中工厂方法的静态属性,使得它可以被子类继承

抽象工厂角色:工厂方法的核心

具体工厂角色:实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且受到应用程序调用以创建产品对象

抽象产品角色:产品对象的共同父类或共同拥有的接口

具体产品的角色:实现抽象产品角色所定义的接口 

抽象工厂

工厂方法中每一个具体工厂只包含一种具体的产品,抽象工厂模式中每一个具体工厂包含两种及以上具体的产品,每一种具体的产品又属于不同的产品类

单例模式

单例模式的类只提供私有的构造函数,类定义中含有一个该类的静态私有对象,该类提供了一个静态的公用方法,用于创建或获取它本身的静态私有对象

适配器模式

将一个类的接口转换成客户希望的另外一个接口,使得原来由于接口不兼容而不能一起工作的那些类可以在一起工作

目标接口:客户所期待的接口,目标可以是具体或抽象的类,也可以是接口

需要适配的类:需要适配的类或适配者类

适配器:通过包装一个需要适配的对象,把原接口转换成目标接口

外观模式

引入外观类充当软件系统的服务员,他为多个业务类的调用提供了一个同一的入口,简化了类与类之间的交互

门面角色:他被客户角色调用,熟悉子系统的功能

子系统角色:实现子系统的功能

客户角色:调用外观类来实现功能

责任链模式

将请求的处理对象像一条长链一般组合在一起,形成一条对象链

抽象处理者角色:定义出一个处理请求的接口,如果需要,接口可以定义出一个方法以设定和返回对下面的引用

具体处理者角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家

观察者模式

一个目标物件管理所有相依于他的观察者物件,并且在本身状态改变时主动发出通知

抽象主题:提供一个用于保存观察者对象的聚集类和增加,删除观察者对象的方法,以及通知所有观察者的抽象方法

具体主题:实现抽象主题中的通知方法,在具体主题的内部状态发生改变,给所有注册过的观察者发送通知

抽象观察者:他是一个抽象类或接口,它包含一个更新自己的抽象方法,当接到具体主题的更改通知时被调用

具体观察者:实现抽象观察者中定义的抽象方法,以便在得到目标的更改通知时更新自身的状态

享元模式

通过共享对象来减少系统中对象数量

抽象享元角色:享元对象抽象基类或者接口,同时定义出对象的外部状态和内部状态的接口或是实现

具体享元角色:实现抽象享元类中的方法,是需要共享的对象类

享元工厂:维护一个享元对象的池

访问者模式

Visitor(访问者):声明一个访问操作接口,该接口中的每个操作元素对应一个需要访问的对象类的元素。具体访问者则实现了这些操作。
Element(元素):定义一个接受访问者的方法,一般称为accept(),它以一个访问者作为参数。
ConcreteElement(具体元素):实现了Element中的accept()方法,通常会调用访问者的访问方法来完成对一个元素的操作。
ObjectStructure(对象结构):能够枚举它的元素,提供一个接口让访问者可以访问它的元素。


原文地址:https://blog.csdn.net/m0_68177611/article/details/142561591

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!