C# 建造者方式(Builder)

     
今日真是令人痛楚的一天,中午收看老爸发的自拍,他一脸的憔悴,心里有说不出的不适。
自从出差的话,还没给他打过电话,于是快捷拿起电话跟她寒暄几句,得知她刚甘休一段忧伤的情义,对他打击不小。从前不被看好的一段心理甘休的比自己的想像还要快,长达一年的企盼和准备在短短的几天相处就停下了,那些时候也不用去祝福那位给老爸带来危害的人,只是希望老爸能赶紧走出去,调整好心气。

        public override void RunStick()
        {
            flow.AddParts(“控球很正式”);
        }

   
 吃完饭,请假回家的同事也赶回来了,一起一连高校游,心理不好的时候去高校走走是很好的调试方式。前些天除外溜弯,穿过高校大家玩了一个时辰的弹子,心绪照旧沉重。
回来的旅途保持沉默,跟着前边两位迈着机械式的步伐,他们一块聊的很嗨,此刻的我却很难融入进去。

    public class DING_Break : Break
    {
        private OneBreak flow = new OneBreak();

     
项目展开仍然很慢,在今日采集到要求后,先天始于调整界面,中午还被客户催着出排期,不用说方今本人比她们还着急,待在此地近一个月时间,什么人都想飞快截至那样的出差生活。
本打算明天弄完入库功效,重新布置一版,又遭受机器保养停机,中午提前放假。

    }

        public override void Shot()
        {
            flow.AddParts(“发力刚刚好”);
        }

    public abstract class Break
    {
        public abstract void Aim();

客户端代码:

using System.Collections.Generic;
using System.Windows.Forms;

代码:

        public override void Aim()
        {
           flow.AddParts(“瞄偏了”);
        }

通晓:构建一个产品的步调是政通人和的,不过每个产品因为每一步的不比而发出出不一致形态。比如台球的三次击打进度就是一个出品,产品的长河包涵“瞄准–运杆–出杆”多个步骤。即便我和丁俊晖都要举行那四个步骤,然而每一步小丁做得都比我好,所以小丁的本次击打肯定就比自己的好。

    //固定步骤类,相当于建筑指挥者
    public class FixStep
    {
        public void RunStep(Break _break)
        {
            _break.Aim();
            _break.RunStick();
            _break.Shot();
        }
    }}

    public class ME_Break : Break
    {
        private OneBreak flow = new OneBreak();

        public abstract void Shot();

        public void Show()
        {
            foreach (string s in _flow)
            {
                MessageBox.Show(s);
            }
        }
    }

        public override void RunStick()
        {
            flow.AddParts(“控球姿势不对”);
        }

        private void btn_Builder_Click(object sender, EventArgs e)
        {
            //列出不一样建造者
            ME_Break me = new ME_Break();
            DING_Break ding = new DING_Break();

        public abstract void RunStick();

        public override OneBreak GetBreak()
        {
            return flow;
        }
    }

            //告诉社团者用哪个来修建
            FixStep step = new FixStep();
            step.RunStep(ding);
            //建造已毕后再得到建造对象
            OneBreak flow = ding.GetBreak();
            flow.Show();} 

        public abstract OneBreak GetBreak();

namespace DesignMode.Builder
{
    public class OneBreak
    {
        IList<string> _flow = new List<string>();
        public void AddParts(string step)
        {
            _flow.Add(step);
        }

        public override void Shot()
        {
            flow.AddParts(“发力太轻了”);
        }

        public override OneBreak GetBreak()
        {
            return flow;
        }
    }

        public override void Aim()
        {
            flow.AddParts(“瞄得很准”);
        }