• 工厂方法模式


    工厂模式有四个角色:抽象工厂,具体工厂,抽象产品,具体产品
    1.抽象工厂
    namespace 验证工厂模式
    {
        public abstract class AbstractCarFactory
        {
            public abstract Car CreateCarInstance();
        }
    }
    2.具体工厂
    namespace 验证工厂模式
    {
        using System.Reflection;
     
        public class BenzCarFactory:AbstractCarFactory
        {
            public override Car CreateCarInstance()
            {
                return new BenzCar();
            }
        }
    }
    namespace 验证工厂模式
    {
    public class HavarCarFactory:AbstractCarFactory
        {
            public override Car CreateCarInstance()
            {
               return new HavarCar();
            }
        }
    }
    3.抽象产品
    namespace 验证工厂模式
    {
        public abstract class Car
        {
            public abstract void MingDi();
        }
    }
    4.具体产品
    namespace 验证工厂模式
    {
        class BenzCar:Car
        {
            public override void MingDi()
            {
                Console.WriteLine("奔驰车,嗡嗡");
            }
        }
    }
    namespace 验证工厂模式
    {
        class HavarCar:Car
        {
            public override void MingDi()
            {
                Console.WriteLine("哈佛H6,滴滴");
            }
        }
    }
     
    5.具体实现
    public class Program
        {
            static void Main(string[] args)
            {
                AbstractCarFactory factory=new BenzCarFactory();
                Car car=factory.CreateCarInstance();
                car.MingDi();
                //反射加载类【Load函数的参数时程序集名,createInstance的参数是 "命名空间."+"类名"】
                AbstractCarFactory factory2 =
                    (HavarCarFactory)Assembly.Load("验证工厂模式").CreateInstance("验证工厂模式.HavarCarFactory");
                Car car2=factory2.CreateCarInstance();
                car2.MingDi();
                Console.ReadKey();
            }
        }
  • 相关阅读:
    递归
    最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
    最简单的基于FFMPEG的封装格式转换器(无编解码)
    最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
    视频主观质量评价工具:MSU Perceptual Video Quality tool
    ffmbc——为广播电视以及专业用途量身定制的FFmpeg
    方便使用FFMPEG的经验
    OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量
    avcodec_decode_video2()解码视频后丢帧的问题解决
    HEVC,VP9,x264性能对比
  • 原文地址:https://www.cnblogs.com/yanglaosan/p/5948958.html
Copyright © 2020-2023  润新知