一、练习题
1.使用仓颉编程语言,模拟实现《燕云十六声》的捏脸。
类图
核心代码
package DesignPattern.builder // 产品 public class Actor { Actor(private var face: String, private var eyes: String, private var nose: String) {} } // 抽象建造者 public abstract class ActorBuilder { protected let actor = Actor("", "", "") protected func builderFace(): Unit protected func builderEyes(): Unit protected func builderNose(): Unit protected func getActor(): Actor { return actor } } // 具体建造者 public class AngleActorBuilder <: ActorBuilder { protected func builderFace() { println("女神: 小脸") } protected func builderEyes() { println("女神: 大眼睛") } protected func builderNose() { println("女神: 高鼻梁") } } public class ManActorBuilder <: ActorBuilder { protected func builderFace() { println("男人: 中脸") } protected func builderEyes() { println("男人: 中眼睛") } protected func builderNose() { println("男人: 中高鼻梁") } } // 指挥者 public class ActorDirector { public ActorDirector(private let actorBulider: ActorBuilder) {} public func construct(): Actor { actorBulider.builderFace() actorBulider.builderEyes() actorBulider.builderNose() return actorBulider.getActor() } }测试代码
package DesignPattern import DesignPattern.builder.* main(): Int64 { ActorDirector(AngleActorBuilder()).construct() println() ActorDirector(ManActorBuilder()).construct() return 0 }二、小结
本章为大家详细的介绍了仓颉设计模式中建造者模式练习题的内容,下一章,为大家带来单例模式练习题的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!