예제 #1
0
    private void lsEquities_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        int i = lsEquities.SelectedIndex;
        EquitiesAbstract eq = (EquitiesAbstract)lsEquities.Items[i];

        mchoice = DirectorFactory.GetBuilder(eq);
        this.Controls.Remove(pnl);
        pnl = mchoice.GetPanelResult();
        setPanel();
    }
 /// <summary>
 ///
 /// </summary>
 /// <param name="equities"></param>
 /// <returns></returns>
 public static IChoiceBuilder GetBuilder(EquitiesAbstract equities)
 {
     //通过Builder中的ConcreteBuilder生成部件,并通知生成(根据个数确定使用哪个ConcreteBuilder对象)
     if (equities.count() <= 3)
     {
         IChoiceBuilder checkBuilder = new CheckChoiceBuilder();
         checkBuilder.BuilderArray(equities);//产品创建过程在 ConcreteBuilder对象中
         checkBuilder.BuilderPanel();
         return(checkBuilder);
     }
     else
     {
         IChoiceBuilder listBuilder = new ListChoiceBuilder();
         listBuilder.BuilderArray(equities);//产品创建过程在 ConcreteBuilder对象中
         listBuilder.BuilderPanel();
         return(listBuilder);
     }
 }
예제 #3
0
 public void BuilderArray(EquitiesAbstract equities)
 {
     stocks = equities.GetResult();
 }