写一个工厂方法模式

86 阅读1分钟

写一个工厂方法模板,方便大家在copy代码

  1. 抽象的顶级工厂
    public interface ICourseFactory {
        ICourse create();
    }

2.具体的两个工厂实现类

    /**
     * @description:
     * @author: Ding Yawu
     * @create: 2022/3/31 23:11
     */
    public class JavaCourseFacytory implements ICourseFactory{
        @Override
        public ICourse create() {
            return new JavaCourse();
        }
    }
    
    
    public class PythonCourseFacytory implements ICourseFactory{
        @Override
        public ICourse create() {
            return new PythonCourse();
        }
    }
  1. 顶级产品接口
    public interface ICourse {
        public void record();
    }
  1. 具体的产品对象,对应两个具体的工厂
    public class JavaCourse implements ICourse{
        @Override
        public void record() {
            System.out.println("java");
        }
    }
    
    public class PythonCourse implements ICourse{
        @Override
        public void record() {
            System.out.println("python");
        }
    }
  1. 测试类
    public class Client {
      public static void main(String[] args) {
          ICourseFactory factory = new PythonCourseFacytory();
          ICourse iCourse = factory.create();
          iCourse.record();
      }
    }

灰常建议大家在平时coding的过程中尝试使用这些设计模式