跟我一起学“仓颉”设计模式-中介者模式练习题
本章为大家详细的介绍了仓颉设计模式中中介者模式练习题的内容。
·
目录
一、练习题
1. 使用中介者模式,模拟联合国成员国信息。
类图

核心代码
package DesignPattern.mediator
// 抽象中介者
public abstract class Union {
public func show(country: Country): Unit
}
// 抽象同事类
public abstract class Country {
public Country(let union: Union) {}
// 调用转发
public func show() {
union.show(this)
}
public func getInfo(): Unit
}
// 具体同事类
public class China <: Country {
public China(union: Union) {
super(union)
}
public override func getInfo() {
println("中国是联合国世界贸易组织成员国之一")
}
}
public class America <: Country {
public America(union: Union) {
super(union)
}
public override func getInfo() {
println("美国是联合国世界贸易组织成员国之一")
}
}
// 具体中介类
public class WTO <: Union {
public var china = Option<China>.None
public var america = Option<America>.None
public override func show(country: Country) {
if (country is China) {
china.getOrThrow().getInfo()
} else if (country is America) {
america.getOrThrow().getInfo()
}
}
}
测试代码
package DesignPattern
import DesignPattern.mediator.*
main(): Int64 {
// 定义中介者
let union = WTO()
// 定义同事对象
let china = China(union)
union.china = china
let america = America(union)
union.america = america
china.show()
america.show()
return 0
}
二、小结
本章为大家详细的介绍了仓颉设计模式中中介者模式练习题的内容,下一章,为大家带来备忘录模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!
更多推荐



所有评论(0)