C# 设计模式之 工厂模式
把创建对象的事情 封装起来
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DesignPytternDemo { /// <summary> /// 简单工厂 /// </summary> public interface IFood { int Price { get; } } public class Orange : IFood { public Orange() { Console.WriteLine("orange created"); } public int Price { get { return 1; } } } public class Rice : IFood { public Rice() { Console.WriteLine("rice created"); } public int Price { get { return 3; } } } public static class FoodFactory { public static IFood CreateFood(string foodType) { IFood f = null; switch (foodType) { case "o": f = new Orange(); break; case "r": f = new Rice(); break; default: break; } return f; } } /// <summary> /// 抽象工厂 /// </summary> public interface IActionGame { } public class Kof : IActionGame { public Kof() { Console.WriteLine("Kof created"); } } public class War3 : IActionGame { public War3() { Console.WriteLine("War3 created"); } } public class Cs : IActionGame { public Cs() { Console.WriteLine("Cs created"); } } public interface IRPG { } public class menghuan : IRPG { public menghuan() { Console.WriteLine("menghuan created"); } } public class Legend : IRPG { public Legend() { Console.WriteLine("Legend created"); } } public class Diablo : IRPG { public Diablo() { Console.WriteLine("Diablo created"); } } public abstract class GameFactory { public abstract IActionGame CreateActionGame(); public abstract IRPG CreateRpgGame(); } public class MyGameFactory : GameFactory { public override IActionGame CreateActionGame() { return new Kof(); } public override IRPG CreateRpgGame() { return new Legend(); } } }
以上就是C# 设计模式之 工厂模式的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan untuk Active Directory dengan C#. Di sini kita membincangkan pengenalan dan cara Active Directory berfungsi dalam C# bersama-sama dengan sintaks dan contoh.

Panduan untuk Pensirian C#. Di sini kita membincangkan pengenalan, langkah-langkah objek siri C#, kerja, dan contoh masing-masing.

Panduan untuk Penjana Nombor Rawak dalam C#. Di sini kita membincangkan cara Penjana Nombor Rawak berfungsi, konsep nombor pseudo-rawak dan selamat.

Panduan untuk Paparan Grid Data C#. Di sini kita membincangkan contoh cara paparan grid data boleh dimuatkan dan dieksport daripada pangkalan data SQL atau fail excel.

Panduan kepada Corak dalam C#. Di sini kita membincangkan pengenalan dan 3 jenis Corak teratas dalam C# bersama-sama dengan contoh dan pelaksanaan kodnya.

Panduan untuk Faktorial dalam C#. Di sini kita membincangkan pengenalan kepada faktorial dalam c# bersama-sama dengan contoh dan pelaksanaan kod yang berbeza.

Panduan Nombor Perdana dalam C#. Di sini kita membincangkan pengenalan dan contoh nombor perdana dalam c# bersama dengan pelaksanaan kod.

Perbezaan antara multithreading dan asynchronous adalah bahawa multithreading melaksanakan pelbagai benang pada masa yang sama, sementara secara tidak sengaja melakukan operasi tanpa menyekat benang semasa. Multithreading digunakan untuk tugas-tugas yang berintensifkan, sementara asynchronously digunakan untuk interaksi pengguna. Kelebihan multi-threading adalah untuk meningkatkan prestasi pengkomputeran, sementara kelebihan asynchronous adalah untuk tidak menghalang benang UI. Memilih multithreading atau asynchronous bergantung kepada sifat tugas: tugas-tugas intensif pengiraan menggunakan multithreading, tugas yang berinteraksi dengan sumber luaran dan perlu menyimpan respons UI menggunakan asynchronous.
