简单工厂模式

    简单工厂模式是类的创建模式,又叫做静态工厂方法,简单工厂模式是一个工厂对象决定创建出哪一个产品类的实例。
下面是个人的理解,在这个简单的工厂模式中,工厂类显然是核心所在,作为工厂类,它的方法是一个静态的方法,所以这个类也就是静态的类,而这个类里面的方法是一个返回类型为类类型,参数类型为字符串类型的方法,这样的话,当我们在测试类测试的时候,我们可以实现传入一个类名就可以返回一个类的功能,而在接口方面,我们定义了一个抽象类,同一种类型的不同具体实现,最后返回的时候都是归为这个接口的,下面是代码实现;
登录总接口类
 
package simpleFactory;

public interface Login {
      public boolean verify(String name, String password);
}

  域认证登录

package simpleFactory;

public class Domain implements Login{

      public Domain() {
            // TODO Auto-generated constructor stub
      }
      public boolean verify(String name, String password){
            System.out.println("这是域认证");
            return true;
      }

}

  密码认证登录

package simpleFactory;

public class Password implements Login{

      public Password() {
            // TODO Auto-generated constructor stub
      }
      public boolean verify(String name, String password){
            System.out.println("密码认证");
            return true;
      }

}
核心工厂类
 
package simpleFactory;

public class loginManager {

      public loginManager() {
            // TODO Auto-generated constructor stub
      }
      public static Login factory(String type){
            if(type.equals("Domain"))
                  return new Domain();
            else if(type.equals("Password"))
                  return new Password();
            else
                  throw new RuntimeException("没有找到登录类型");
      }
}

  测试类

package simpleFactory;

public class Test {

      public Test() {
            // TODO Auto-generated constructor stub
      }
      public static void main(String[] args){
            String loginType = "Password";
            String name = "name";
            String password = "password";
            Login login = loginManager.factory(loginType);
            boolean issuccess = login.verify(name,password);
            if(issuccess == true){
                  System.out.println("passwordTYpe");
            }
            else
                  System.out.println("fail");
      }

}
    下面是个人的理解;
作为简单工厂模式,我们可以设想为一个玩具工厂,而接口就是你这个产品的设计图纸,这种可以说设计玩具,像是洋娃娃和小汽车,而作为核心的工厂类就相当于玩具本身,老板说,我要生产一个洋娃娃,然后把这个命令传下去,工厂接受到这个命令之后,就开始照着设计图纸做玩具了,最后返回了一个实体的洋娃娃。这就是我理解的简单工厂模式。
 

posted on 2018-03-17 22:16  楚大校  阅读(124)  评论(0编辑  收藏  举报

导航