跟我一起学“仓颉”设计模式-观察者模式练习题
本章为大家详细的介绍了仓颉设计模式中观察者模式的内容。
·
目录
一、练习题
1. 老鼠探出头,猫开始追赶老鼠,模拟猫和老鼠中这一经典的画面。
类图

核心代码
package DesignPattern.observer
// 抽象观察者
public interface IObserver {
func run(target: Target): Unit
func getName(): String
}
// 抽象目标
public abstract class Target {
public Target(public let name: String) {}
protected func notify(observer: IObserver): Unit
}
// 具体目标
public class Jerry <: Target {
public init() {
super("Jerry")
println("[${name}] 探出了头!")
}
protected override func notify(observer: IObserver) {
println("[${observer.getName()}] 发现了 [${this.name}]!")
}
}
// 具体观察者
public class Tom <: IObserver {
private let name = "Tom"
public override func run(target: Target) {
target.notify(this)
println("[${this.name}] 狂追 [${target.name}]!")
}
public override func getName() {
return this.name
}
}
测试代码
package DesignPattern
import DesignPattern.observer.*
main(): Int64 {
let tom = Tom()
tom.run(Jerry())
return 0
}
二、小结
本章为大家详细的介绍了仓颉设计模式中观察者模式练习题的内容,下一章,为大家带来模板方法模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!
更多推荐
所有评论(0)