苦逼也聊模式--(1)--简单工厂

既然要提及工厂模式就需要提及一下简单工厂。

简单工厂模式: 是类的创建模式,也可以称为静态工厂。

可以这么理解。

工厂可以生产一个类别的产品,产品必须归属于类别。就如飞机属于飞行器和鸡蛋不是同一类的一样。

现在以飞行器为例子

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Aircraft a = AircraftFactory.create(1);
            a.Fly();
            a.Inventor();
        }
    }
 
 
    public interface Aircraft
    {
         void Fly();//飞行器的特征,要会飞
         void Inventor();//发明人,可能有品牌什么的就不写了
    }
 
    public class Airplane : Aircraft
    {
        public void Fly()
        {
            Console.WriteLine("我在天空飞翔");
        }
        public void Inventor()
        {
            Console.WriteLine("地球人");
        }
    }
    public class UFO : Aircraft
    {
        public void Fly()
        {
            Console.WriteLine("我在太空飞翔");
        }
        public void Inventor()
        {
            Console.WriteLine("外星人");
        }
    }
 
    public class AircraftFactory
    {
        public static Aircraft create(int what)
        {
            if (what == 1)
                return new Airplane();
            else if (what == 2)
                return new UFO();
            else
                return null;
        }
    }
}

  举个例子:计算器的加减乘除可以用这个模式

posted @   root_u  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Huawei LiteOS基于Cortex-M4 GD32F4平台移植
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处
点击右上角即可分享
微信分享提示