策略模式与模板方法模式

策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。

当你有许多仅在执行某些行为时略有不同的相似类时,可使用策略模式。使用该模式能将类的业务逻辑与其算法实现细节隔离开来。

说白了,其实还是解耦

策略模式与模板方法模式

策略模式的结构如上图所示,主要包含三个角色:

抽象角色:通常是一个接口

具体角色:接口的具体实现

环境角色:调用接口的上下文环境,通常是一段业务逻辑方法

举个常见的例子:支付

先定义一个接口 PayStrategy.java

package com.example.service; import com.example.domain.dto.PayDTO; import com.example.domain.dto.PayDetailDTO; /** * @author ChengJianSheng * @date 2021/1/11 */ public interface PayStrategy { /** * 下单 */ PayDTO prepay(); /** * 查询 */ PayDetailDTO query(); /** * 撤销 */ void cancel(); /** * 退款 */ void refund(); } 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsjgj.html