目录

一、练习题

二、小结


一、练习题

1. 设计一款数据转换工具,可以将数据库中的数据转换成多种文件格式,比如:txt、xml等,同时该工具也支持多种数据库,比如:MySQL、GuessDB等。

类图

核心代码

package DesignPattern.birdge

// 实现类接口
public interface Type {
    func getType(): Unit
}

// 具体实现类
public class XML <: Type {
    public func getType() {
        print("XML")
    }
}

public class TXT <: Type {
    public func getType() {
        print("TXT")
    }
}

// 抽象类
public abstract class DB {
    var optType: Option<Type> = Option<Type>.None

    public func setType(_type: Type) {
        this.optType = _type
    }

    public func export(): Unit
}

// 扩充抽象类
public class MySQL <: DB {
    public override func export() {
        match (this.optType) {
            case Some(_type) =>
                print("MySQL数据库支持")
                _type.getType()
                println("类型文件导出")
            case None => println("导出异常")
        }
    }
}

public class GuessDB <: DB {
    public override func export() {
        match (this.optType) {
            case Some(_type) =>
                print("GuessDB数据库支持")
                _type.getType()
                println("类型文件导出")
            case None => println("导出异常")
        }
    }
}

测试代码

package DesignPattern
import DesignPattern.birdge.*

main(): Int64 {
    var db: DB = MySQL()
    db.setType(XML())
    db.export()

    db = GuessDB()
    db.setType(TXT())
    db.export()

    return 0
}

二、小结

本章为大家详细的介绍了仓颉设计模式中桥接模式练习题的内容,下一章,为大家带来组合模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐