目的
减少工厂方法情况下过多的工厂类, 将相关的类的创建使用同一个工厂方法
例子代码
最近有个考了 200 多分的同学冒充了清华的录取通知书, 家里杀鸡宰牛之后发现是假的, 听说其父亲被气得进了医院, 血压都比自己二个的分数高…
抽象工厂模式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dKMwLDAc-1602386021174)(/assets/2020082100.png)]
先定义一个 Offer:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-osv1V1rd-1602386021176)(/assets/202082101.png)]
二个实现类:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y2hfoOq9-1602386021177)(/assets/2020082102.png)]和[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVP3CkAt-1602386021178)(/assets/2020082103.png)]再定义一个 Paper:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R71oVfFQ-1602386021179)(/assets/2020082104.png)]
二个实现类:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bOdz8SGS-1602386021180)(/assets/2020082105.png)]
和
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UvuNTjXn-1602386021181)(/assets/2020082106.png)]
定义一个印章:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfVrEa7W-1602386021182)(/assets/2020082107.png)]
和实现:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YKecVKAu-1602386021183)(/assets/2020082108.png)]和
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HpfakNg3-1602386021183)(/assets/2020082109.png)]
定义一个工厂类:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ihoek2EZ-1602386021184)(/assets/2020082110.png)]
实现:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a6WBTsYN-1602386021184)(/assets/2020082111.png)]和[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eC4jcOCq-1602386021185)(/assets/2020082112.png)]使用:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tp51R0Fc-1602386021185)(/assets/2020082113.png)]输出:
假的 offer: 家里蹲大学
假的纸:绿色
萝卜印章: 高度院校印章
微信: