漫画:什么是 “抽象工厂模式” ?








public?interface?IMask?{
????void?showMask();
}
public?class?LowEndMask?implements?IMask?{
????@Override
????public?void?showMask(){
????????System.out.println("我的低端口罩");
????}
}
public?class?HighEndMask?implements?IMask?{
????@Override
????public?void?showMask()?{
????????System.out.println("我是高端口罩");
????}
}
public?interface?IProtectiveSuit?{
????void?showSuit();
}
public?class?LowEndProtectiveSuit?implements?IProtectiveSuit?{
????@Override
????public?void?showSuit()?{
????????System.out.println("我是低端防护服");
????}
}
public?class?HighEndProtectiveSuit?implements?IProtectiveSuit?{
????@Override
????public?void?showSuit()?{
????????System.out.println("我是高端防护服");
????}
}
public?interface?IFactory?{
????//创建口罩
????IMask?createMask();
????//创建防护服
????IProtectiveSuit?createSuit();
}
public?class?LowEndFactory?implements?IFactory?{
????@Override
????public?IMask?createMask()?{
????????IMask?mask?=??new?LowEndMask();
????????//?.....
????????//??LowEndMask的100行初始化代码
????????return?mask;
????}
????@Override
????public?IProtectiveSuit?createSuit()?{
????????IProtectiveSuit?suit?=??new?LowEndProtectiveSuit();
????????//?.....
????????//??LowEndProtectiveSuit的100行初始化代码
????????return?suit;
????}
}
public?class?HighEndFactory?implements?IFactory?{
????@Override
????public?IMask?createMask()?{
????????IMask?mask?=??new?HighEndMask();
????????//?.....
????????//?HighEndMask的100行初始化代码
????????return?mask;
????}
????@Override
????public?IProtectiveSuit?createSuit()?{
????????IProtectiveSuit?suit?=??new?HighEndProtectiveSuit();
????????//?.....
????????//??HighEndProtectiveSuit的100行初始化代码
????????return?suit;
????}
}
public?class?Test?{
????public?static?void?main(String[]?args)?{
????????IFactory?factoryA?=?new?LowEndFactory();
????????IFactory?factoryB?=?new?HighEndFactory();
????????//创建低端口罩
????????IMask?maskA?=?factoryA.createMask();
????????//创建高端口罩
????????IMask?maskB?=?factoryB.createMask();
????????//创建低端防护服
????????IProtectiveSuit?suitA?=?factoryA.createSuit();
????????//创建高端防护服
????????IProtectiveSuit?suitB?=?factoryB.createSuit();
????????maskA.showMask();
????????maskB.showMask();
????????suitA.showSuit();
????????suitB.showSuit();
????}
}








<bean?id="userController"?class="com.xiaohui.controller.UserController">
????<constructor-arg?name="userService"?ref="userService"></constructor-arg>
</bean>
<bean?id="userService"?class="com.xiaohui.service.UserService">






更多精彩推荐
?没有 5G 版 iPhone 的苹果秋季发布会,发布了些什么?
?IT 往事录:苹果 Mac 之父,却在 Mac 问世前黯然退场
?极简椭圆曲线密码学入门
点分享 点点赞 点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675











CSDN
