
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.2 抽象工厂模式介绍
抽象工厂也可以称作其他工厂的工厂,它可以在抽象工厂中创建出其他工厂,与工厂模式一样,都是用来解决接口选择的问题,同样都属于创建型模式,如图5-1所示,五菱公司既可以生产汽车也可以生产口罩。

图5-1
研发人员可能在业务开发中很少关注这样的设计模式或类似的代码结构,但是这样的场景却一直在我们身边,如下所示。
1.不同系统内的回车换行
·在UNIX系统里,每行结尾只有<换行>,即\n;
·在Windows系统里,每行结尾是<换行><回车>,即\n\r;
·在Mac系统里,每行结尾是<回车>。
2.IDEA开发工具的差异(Windows\Mac)(如图5-2所示)
除了这样显而易见的例子,在业务开发中也时常会遇到类似的问题,需要做兼容处理。但大部分经验不足的开发人员常常直接通过添加if…else方式解决,同时留下了很多的代码问题。

图5-2