欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#通過(guò)抽象工廠模式造車(chē)

 更新時(shí)間:2022年10月28日 08:32:52   作者:Darren?Ji  
這篇文章介紹了C#通過(guò)抽象工廠模式造車(chē)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

可以用抽象工廠模式來(lái)造車(chē)。

車(chē)的品牌有很多,而且車(chē)的屬性也不少,比如車(chē)的類(lèi)型、排量、門(mén)的數(shù)量,等等??梢蕴釤挸鲇嘘P(guān)車(chē)的一個(gè)抽象類(lèi):

    public abstract class Car
    {
        public string Model { get; set; }
        public string Engine { get; set; }
        public string Transmission { get; set; }
        public string Body { get; set; }
        public int Doors { get; set; }
        public List<string> Accessores = new List<string>();
        public abstract void ShowCarInfo();
    }

既然是抽象工廠,提煉出一個(gè)造車(chē)的接口:

    public interface ICarFactory
    {
        Car ProduceCar();
    }

寫(xiě)一個(gè)Car的派生類(lèi):

    public class MyCar : Car
    {
        public MyCar()
        {
            Model = "型號(hào)001";
            Engine = "發(fā)動(dòng)機(jī)V";
            Transmission = "排量1";
            Body = "SUV";
            Doors = 4;
            Accessores.Add("內(nèi)飾");
            Accessores.Add("外飾");
        }
        public override void ShowCarInfo()
        {
            Console.WriteLine(Model);
            Console.WriteLine(Engine);
            Console.WriteLine(Body);
            Console.WriteLine("門(mén)數(shù)量:" + Doors);
            Console.WriteLine("包括:");
            foreach (var accessory in Accessores)
            {
                Console.WriteLine("\t{0}", accessory);
            }
        }
    }

MyCar需要一個(gè)對(duì)應(yīng)的具體工廠來(lái)造車(chē)。寫(xiě)一個(gè)具體工廠類(lèi),實(shí)現(xiàn)ICarFactory接口。

    public class MyFactory : ICarFactory
    {
        public Car ProduceCar()
        {
            return new MyCar();
        }
    }

在客戶端,如果要造車(chē),就找具體工廠就可以了。

        static void Main(string[] args)
        {
            ICarFactory carFactory = new MyFactory();
            carFactory.ProduceCar().ShowCarInfo();
            Console.ReadKey();
        }

總結(jié):

1、需要工廠生產(chǎn)對(duì)象的抽象類(lèi)以及派生類(lèi)
2、需要一個(gè)抽象工廠接口
3、通過(guò)抽象工廠造車(chē),必須把所有的細(xì)節(jié)都設(shè)計(jì)在代表車(chē)的抽象類(lèi)中,擴(kuò)展性不好

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論