一、练习题

1. 实现一个日志记录器,用户可以通过修改配置灵活的更换日志记录的内容(数据库日志、文件日志)。

类图

核心代码

package DesignPattern.factorymethod

/*
* 抽象日志
*/
public interface Logger {
    func writeLog(): Unit
}

class DataBaseLogger <: Logger {
    public override func writeLog() {
        println("数据库日志记录")
    }
}

class FileLogger <: Logger {
    public override func writeLog() {
        println("文件日志记录")
    }
}

/*
* 抽象日志工厂
*/
public abstract class LoggerFactory {
    public func createLogger(): Logger
}

public class DataBaseLoggerFactory <: LoggerFactory {
    public func createLogger(): Logger {
        return DataBaseLogger()
    }
}

public class FileLoggerFactory <: LoggerFactory {
    public func createLogger(): Logger {
        return FileLogger()
    }
}

测试代码

package DesignPattern
import DesignPattern.factorymethod.*

main(): Int64 {
    var logger: Logger = DataBaseLoggerFactory().createLogger()
    logger.writeLog()

    logger = FileLoggerFactory().createLogger()
    logger.writeLog()
    return 0
}

二、小结

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

Logo

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

更多推荐