HarmonyOS 鸿蒙Next 架构设计问题--给接口增加适配器

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 架构设计问题–给接口增加适配器

定义了一个如下接口
export interface PlayerListener {

onFirstFrame: () => void;

onConnectSuccess: () => void;

}

在业务中使用时如下
let listener: PlayerListener = {
onFirstFrame() {
LogUtil.info(“tag5”, “onFirstFrame Listener”)
},
onConnectSuccess() {
LogUtil.info(“tag5”, “onConnectSuccess Listener”)
},
};


然后设置监听
player.setListener(listener);

假如我PlayerListener这个interface中有十几个方法的话,那我在用的时候需要全部复写,但是我只想复写我用到的方法。

在java中可以定义一个class adapter去实现这个接口,然后在player.setListener的时候使用这个adapter就可以只复写自己关心的方法。

想问下在鸿蒙中如何实现这种类似adapter的逻辑,达到只复写自己关心的接口方法的目的


更多关于HarmonyOS 鸿蒙Next 架构设计问题--给接口增加适配器的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
// 定义接口

export interface PlayerListener {

    onFirstFrame: () => void;

    onConnectSuccess: () => void;

    onError: (error: Error) => void;

    onBuffering: () => void;

    // 其他方法

}

// 适配器基类

export class PlayerListenerAdapter implements PlayerListener {

    onFirstFrame() {}

    onConnectSuccess() {}

    onError(error: Error) {}

    onBuffering() {}

    // 其他方法的默认实现

}

// 自定义监听器类

class MyPlayerListener extends PlayerListenerAdapter {

    onFirstFrame() {

        LogUtil.info("tag5", "onFirstFrame Listener");

    }

    onConnectSuccess() {

        LogUtil.info("tag5", "onConnectSuccess Listener");

    }

}

// 使用自定义监听器

let listener = new MyPlayerListener();

player.setListener(listener);

更多关于HarmonyOS 鸿蒙Next 架构设计问题--给接口增加适配器的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS鸿蒙Next架构设计中的接口适配器增加问题,以下是一些专业解答:

在HarmonyOS鸿蒙Next架构设计中,为接口增加适配器是一个常见的需求,旨在提高系统的灵活性和可扩展性。适配器模式允许接口不兼容的类一起工作,通过将类的接口转换成客户端期望的另一个接口,实现系统的松耦合。

在HarmonyOS鸿蒙Next中,增加适配器可以遵循以下步骤:

  1. 识别接口差异:明确现有接口与目标接口之间的差异,包括方法签名、参数类型及数量等。
  2. 设计适配器类:创建一个适配器类,该类实现目标接口,并在内部持有现有接口的实现对象。在适配器类中,实现目标接口的方法时,通过调用现有接口的方法来完成功能。
  3. 配置和使用适配器:将适配器类配置到系统中,确保在需要时能够正确调用。客户端代码应使用目标接口与适配器进行交互。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部