鏈式生產環境裝配

來源:互聯網
上載者:User

標籤:class   blog   ext   get   資料   string   

鏈式生產環節裝配:

    /// <summary>    /// 資料,它會反覆接收工廠裡各個環節的加工    /// </summary>    public class DataStream    {        public string Status { get; set; }    }

 

    /// <summary>    /// 節點抽象類別,類比各種機器    /// </summary>    /// <typeparam name="T"></typeparam>    public abstract class MechineNode<T> : IMechine<T>        where T : DataStream, new()    {        public IMechine<T> Next { get; set; }        public T Data { get; set; }                 public abstract IMechine<T> Execute();                public IMechine<T> Append(IMechine<T> next)         {            this.Next = next;            next.Data = this.Data;            return next;        }    }

 

    /// <summary>    /// 機器節點1    /// </summary>    /// <typeparam name="T"></typeparam>    public sealed class Mechine1<T> : MechineNode<T>        where T : DataStream, new()    {         public override IMechine<T> Execute()        {            this.Data.Status = "updated by mechine 1";            return this;        }    }

 

    /// <summary>    /// 機器節點2    /// </summary>    /// <typeparam name="T"></typeparam>    public sealed class Mechine2<T> : MechineNode<T>        where T : DataStream, new()    {        public override IMechine<T> Execute()        {            this.Data.Status += ",updated by mechine 2";            return this;        }    }

 

下面是應用:

            DataStream data = new DataStream();            IMechine<DataStream> mnode = new Mechine1<DataStream>();            mnode.Data = data;            mnode.Execute()                .Append(new Mechine2<DataStream>()).Execute()                //.Append(new Mechine2<DataStream>()).Execute() //<---通過動態鏈式環節,自由組合各台機器的裝配順序                ;

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.