• 设计模式之简单工厂、工厂方法与抽象工厂


    案例场景

    某泡教育推出架构师培训课程,包括Java架构师、Python架构师培训。售卖课程内容包括视频、笔记、源码等。根据工厂方法等相关内容,实现售卖课程的程序设计。
    要求程序运行结果如下:

    简单工厂、工厂方法与抽象工厂定义与结构

    案例-简单工厂设计与实现

    public interface ICourse {
        /**
         * 录制视频
         * @return
         */
        void record();
    }
    
    
    public class JavaCourse implements ICourse {
    
        public void record() {
            System.out.println("录制Java课程");
        }
    }
    
    
    public class PythonCourse implements ICourse {
    
        public void record() {
            System.out.println("录制Python课程");
        }
    }
    
    public class CourseFactory {
        public ICourse create(Class<? extends ICourse> clazz){
            try {
                if (null != clazz) {
                    return clazz.newInstance();
                }
            }catch (Exception e){
                e.printStackTrace();
            }
            return null;
        }
    
    }
    
    public class SimpleFactoryTest {
    
        public static void main(String[] args) {
            CourseFactory factory = new CourseFactory();
            ICourse course = factory.create(JavaCourse.class);
            course.record();
    
        }
    }
    

    案例-工厂方法设计与实现

    案例-抽象方法设计与实现

    工厂方法由于抽象工厂区别

    工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
    工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。

    工厂设计模式在开源框架中的应用

    参考

    源代码

    作者:薄荷加冰
    出处:https://www.cnblogs.com/huangjianping/
    版权:本文版权归作者和博客园共有
    转载:本文以学习、研究和分享为主,欢迎转载和各类爬虫,但必须在文章页面明显位置给出原文链接。 如果文中有不妥或者错误的地方还望您指出,以免误人子弟。如果您有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。
  • 相关阅读:
    linux/windows nginx安装
    linux/windows vsftpd安装
    linux 操作命令
    linux/windows java tomcat安装
    常见的Activity Action Intent常量
    Intent.ACTION_PICK
    Android实现抽奖转盘
    Android-短信验证
    Android-多平台分享(新浪微博)
    Android 手势滑动,多点触摸放大缩小图片
  • 原文地址:https://www.cnblogs.com/huangjianping/p/14962468.html
Copyright © 2020-2023  润新知