杂项:软件设计模式

1、抽象工厂模式关键算法

一、抽象工厂接口类:提供所有抽象产品的建立接口函数

二、根据抽象产品分支出来有多少个产品簇决定有多少个具体工厂设计

三、每一个具体工厂生产一个产品簇对象

 

2、适配器模式继承

一、有类适配器模式(继承)、对象适配器模式(调用或聚合)接口

二、注意JAVA不支持多重继承,因此JAVA中适配源超过 1个 可采起对象适配器模式产品

三、适配器模式关键:适配目标接口类:其中包含了用户所但愿的全部接口,该类提供给适配器实现,变量

适配器类:该类实现适配器目标接口类的全部用户但愿的接口,继承或者调用/集成适配源的接口方法原理

四、对象适配器原理:可把适配源类对象聚合到是适配器中做为适配器类的成员属性,当用户但愿使用某些已经存在在适配源中的接口时,直接调用该对象的接口函数配置

 

3、外观模式

一、本质:把用户所但愿与之打交道的全部类聚合到一个类中,该类即为外观类。

二、外观类中包含全部与用户打交道的类对象,所以用户仅须要与外观类打交道,避免直接与其余多个类打交道的复杂过程

三、外观类可给用户专门提供服务接口方法,在此方法中调用聚合在本类中的对象的方法完成用户但愿的工做。

 

4、策略模式

一、抽象策略接口类:提供一个全部子类实现本身算法的接口(策略模式定义一系列的算法,将每一个算法封装起来(在具体子类中),而且是他们之间能够互相替换)

二、具体策略类:实现抽象策略类接口,并实现定义的一系列算法中的某个具体算法,有时须要调用上下文相关方法完成任务

三、上下文类:客户类与策略类的 “传话筒” ,给策略类传递策略类要处理的数据参数,常常也把本身当作参数传递给策略类。上下文类中提供一个接口,用于调用具体策略子类中实现的算法接口。

四、具体策略子类和上下文类互相调用完成任务是使用策略模式进行设计的一般作法

 

5、命令模式

一、调用者:发起命令请求,把命令对象聚合为本身的成员属性,发起命令时调用命令对象的excute()方法(通常在该方法里调用命令接收者完成任务)

二、命令对象:系统有多少条命令就有多少个具体命令对象类,通常包含一个excute()方法

三、命令接收者对象:负责根据对应的命令完成相关的任务

四、命令模式通常分层机制:调用者调用命令对象,命令对象调用命令接收者对象

五、客户端中建立调用者对象、命令对象、命令接收者对象。步骤:先建立命令接收者对象,建立命令对像而且把第一步建立的命令接收者对象做为参数配置给命令对象,最后建立调用者对象而且把第二步建立的命令对象做为参数配置给调用者对象

 

6、中介者模式

一、中介者类:持有全部参与互动的类的对象,把他们集成为本身的成员属性。包含有全部参与类的注册方法,有多少个参与类就有多少个注册方法,注册方法中把参与类对象做为参数配置给本身的参与类成员属性

二、参与类:参与类中同时也持有中介者类对象,把中介者类做为本身的成员属性。在本身的构造函数中把中介者类配置给本身。同时调用中介者类注册方法把本身注册给中介者类

三、客户端类:需先建立中介者类,再建立参与类并把参中介者类配置给本身

 

7、观察者模式

一、抽象观察者接口类:全部具体的观察者类实现该类,该类通常提供一个Update()方法,用于在被观察者状态改变时调用,在其中完成相关的任务。

二、具体观察者类:实现抽象观察者类,主要是实现Update()方法,实现本身对被观察者感兴趣的数据变化时进行相关处理。

三、抽象被观察者类:通常要有观察者列表属性变量,全部观察者都要注册在该列表中。通常还要有三个方法,一个是往观察者列表添加观察者的方法,一个是设置当前状态的方法,一个是通知全部观察者(即遍历观察者列表调用其相关的Update())的方法。

相关文章
相关标签/搜索