From 86ce1f5d8002bc2f632821689f4c90aaa1b8c65c Mon Sep 17 00:00:00 2001 From: fujiayang Date: Wed, 26 Jan 2022 10:30:30 +0800 Subject: [PATCH] =?UTF-8?q?spring=E5=A2=9E=E5=BC=BA=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E8=80=85=E6=A8=A1=E5=BC=8F-=E6=94=B9=E9=80=A0=E5=89=8D?= =?UTF-8?q?=EF=BC=88early=20binding=EF=BC=89=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../behavior/visitor/spring/DrawServiceTest.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/test/java/top/fjy8018/designpattern/pattern/behavior/visitor/spring/DrawServiceTest.java b/src/test/java/top/fjy8018/designpattern/pattern/behavior/visitor/spring/DrawServiceTest.java index c538b01..1b6acc3 100644 --- a/src/test/java/top/fjy8018/designpattern/pattern/behavior/visitor/spring/DrawServiceTest.java +++ b/src/test/java/top/fjy8018/designpattern/pattern/behavior/visitor/spring/DrawServiceTest.java @@ -2,8 +2,10 @@ package top.fjy8018.designpattern.pattern.behavior.visitor.spring; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; +import top.fjy8018.designpattern.pattern.behavior.visitor.spring.bean.Building; import top.fjy8018.designpattern.pattern.behavior.visitor.spring.bean.Factory; import top.fjy8018.designpattern.pattern.behavior.visitor.spring.bean.Node; +import top.fjy8018.designpattern.pattern.behavior.visitor.spring.bean.School; /** * DrawService中只有4个draw方法,参数类型分别是Factory, Building, School和Node,如果调用方传了一个City进来怎么办? @@ -26,7 +28,18 @@ class DrawServiceTest { private void draw(Node node) { DrawService drawService = new DrawService(); - drawService.draw(node); + if (node instanceof Building) { + Building building = (Building) node; + drawService.draw(building); + } else if (node instanceof Factory) { + Factory factory = (Factory) node; + drawService.draw(factory); + } else if (node instanceof School) { + School school = (School) node; + drawService.draw(school); + } else { + drawService.draw(node); + } } } \ No newline at end of file