简单工厂模式是类的建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
看到这句话相信大家就能理解一点了,就是一些相似的类,通过一个工厂类给提取出来,这样再用的时候,可以通过传入不同的参数,就能获取相应的类的实例。举一个简单的例子。就拿登录来说吧,我们可能有很多种登录方式,例如,手机号登录 第三方登录 邮箱登录 ,这样的话如果没有工厂类的话,那在业务代码中就要做好些判断,页码就会显的很乱。
interface Login{ public void login(); }这是一个登录类的借口类 ,
class phoneLogin implements Login{ @Override public void login() { //具体手机登录的业务逻辑 } } class thirtyLogin implements Login{ @Override public void login() { //具体的第三方登录的业务逻辑 } class EmailLogin implements Login{ @Override public void login() { //邮箱登录的业务逻辑 } }这是三个具体的登录类
再看看具体的工厂类吧
class LoginFactory { public static Login factory(int type){ Login login; switch (type){ case 1: login = new phoneLogin(); break; case 2: login = new thirtyLogin(); break; case 3: login = new EmailLogin(); break; default: login = new phoneLogin(); break; } return login; } }
通过传入不同的参数就可以得到不同的登录类了,是不是特别方便啊