zoukankan      html  css  js  c++  java
  • 设计模式-抽象工厂模式

    抽象工厂模式

    主要解决:主要解决接口选择的问题。

    JAVA应用:

    java.sql.Connection

    org.apache.ibatis.session.SqlSessionFactory

    public abstract class Article {
        public abstract void produce();
    }
    public class JavaArticle extends Article {
        @Override
        public void produce() {
            System.out.println("编写Java课程手记");
        }
    }
    public class PythonArticle extends Article {
        @Override
        public void produce() {
            System.out.println("编写Python课程手记");
        }
    }
    public abstract class Video {
        public abstract void produce();
    
    }
    public class JavaVideo extends Video {
        @Override
        public void produce() {
            System.out.println("录制Java课程视频");
        }
    }
    public class PythonVideo extends Video {
        @Override
        public void produce() {
            System.out.println("录制Python课程视频");
        }
    }
    public interface CourseFactory {
        Video getVideo();
        Article getArticle();
    
    }
    public class JavaCourseFactory implements CourseFactory {
        @Override
        public Video getVideo() {
            return new JavaVideo();
        }
    
        @Override
        public Article getArticle() {
            return new JavaArticle();
        }
    }
    public class PythonCourseFactory implements CourseFactory {
        @Override
        public Video getVideo() {
            return new PythonVideo();
        }
    
        @Override
        public Article getArticle() {
            return new PythonArticle();
        }
    }
    public class Test {
        public static void main(String[] args) {
            CourseFactory courseFactory = new JavaCourseFactory();
            Video video = courseFactory.getVideo();
            Article article = courseFactory.getArticle();
            video.produce();
            article.produce();
        }
    }
  • 相关阅读:
    Day4
    Day 4 -E
    Day4
    Day4
    Day4
    Day4
    Day4-F-产生冠军 HDU
    Day4
    Day4-B-最短路径问题 HDU3790
    HackerRank
  • 原文地址:https://www.cnblogs.com/woodpecker-z/p/14649889.html
Copyright © 2011-2022 走看看