目录

一、练习题

二、小结


一、练习题

1. 某系统需要对数据加密,提供了多种加密方法,用户可以动态的选择加密方法,请用策略模式模拟实现。

类图

核心代码

package DesignPattern.strategy

// 环境类
public class Data {
    public Data(private let data: String, private let encrypt: Encrypt) {}

    public func show() {
        println("加密数据: ${encrypt.encrypt(data)}")
    }
}

// 抽象策略类
public interface Encrypt {
    func encrypt(data: String): String
}

// 具体策略类
public class MD5 <: Encrypt {
    public override func encrypt(data: String) {
        return "${data}是MD5加密"
    }
}

public class SHA256 <: Encrypt {
    public override func encrypt(data: String) {
        return "${data}是SHA256加密"
    }
}

测试代码

package DesignPattern
import DesignPattern.strategy.*

main(): Int64 {
    let data1 = Data("123456", MD5())
    data1.show()

    let data2 = Data("123456", SHA256())
    data2.show()

    return 0
}

二、小结

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

Logo

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

更多推荐