适配器模式

本文介绍了适配器模式在电子商务网站购物车功能的扩展中发挥作用。原有的购物车系统基于MVC模式,包含index.jsp页面、productioninfo商品信息管理类和ShopCart购物车信息管理类。随着需求变化,需要在下单后提供相关商品推荐功能。通过适配器模式,实现了新购物车功能,包括商品的删除、数量修改、一键结算,以及新增的推荐功能。文章提供了接口代码、新购物车代码、适配器类和测试类的概览,展示运行结果。
摘要由CSDN通过智能技术生成

适配器模式

适配器模式:电子商务网站有购物车的功能,可以把挑选的东西加入购物车,可以把挑选的东西加入购物车、删除或者更改购买数量,并对多个商品进行一次性结算。为了实现订单功能,系统基于MVC模式,设计了一个下订单的页面index.jsp,商品信息管理类productioninfo,购物车信息管理类ShopCart。系统运行一段时间后,需求发生变化,不仅需要原有购物车的功能,还希望在客户下完订单后有一个相关商品的推荐功能,利用适配器模式进行设计,绘制选择模式的结构图,并绘制该案例的类图,并编写代码演示结果

接口代码

/**
 * @author zzw
 * @create 2020/11/22-10:40
 * 目标接口,也是标准接口
 */
public interface zzw34Target {
    public void request();
}

新购物车代码

/**
 * @author zzw
 * @create 2020/11/22-10:45
 */
public class zzw34NewShopCar implements zzw34Target {
    private  zzw34Recommended recommended;

    public  zzw34NewShopCar(zzw34Recommended recommended){
        this.recommended=recommended;
    }

    @Override
    public void request() {
        //使用委托的方式完成特殊功能
        this.recommended.recommended();

    }
}

原始购物车预览

/**
 * @author zzw
 * @create 2020/11/22-10:43
 * 具体目标类,只具有普通功能,原购物车类
 */
public class zzw34OriginakShopCar implements zzw34Target {

    @Override
    public void request() {
        System.out.println("购物车拥有删除或者更改购买数量,并对多个商品进行一次性结算功能");
    }
}

适配器类

/**
 * @author zzw
 * @create 2020/11/22-10:49
 * 需要适配的类,推荐功能
 *
 *
 */
public class zzw34Recommended {
    public void recommended(){
        System.out.println("新购物车拥有删除或者更改购买数量,并对多个商品进行一次性结算并且有相关商品的推荐");
    }
}

测试类

/**
 * @author zzw
 * @create 2020/11/22-10:55
 */
public class zzw34Test {
    public static void main(String[] args) {
        //使用原购物车
        zzw34Target originakShopCar=new zzw34OriginakShopCar();
        originakShopCar.request();

        //使用新购物车,也就是适配器类
        zzw34Target newShopCar=new zzw34NewShopCar(new zzw34Recommended());
        newShopCar.request();
    }
}

运行结果:
购物车拥有删除或者更改购买数量,并对多个商品进行一次性结算功能
新购物车拥有删除或者更改购买数量,并对多个商品进行一次性结算并且有相关商品的推荐

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值