当工厂方法遇到静态方法

标签:Java, Python, 设计模式

项目中遇到个问题,虽然还没和别人沟通过,不过先记录一下自己的想法吧。
在第一阶段的开发中,我们只针对美国和加拿大;现在要开始第二阶段的开发了,需要面向欧洲6国;而第三阶段则要面向亚洲。
问题是每个国家除了语言不一样,连逻辑都不一样,于是调用类的逻辑就得改了。简单来说就是要针对不同的国家,调用不同的类。

最容易想到的方法就是使用工厂方法模式:传递国家名,找到对应的类,再调用该类的方法。
可是被调用的方法不是实例方法,而是静态方法,这就导致了不能通过构造一个子类对象,转换成抽象基类的对象来调用该静态方法,因为调用静态方法时不会调用子类的方法。