Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //先用组合模式将对象组合,减少判断分支
            HelperHandler helper = new HelperHandler(DataType.默认);
            HelperHandler child  = new HelperHandler(DataType.主界面);
            HelperHandler menu   = new Application(DataType.菜单);

            //子对象组合
            child.SetChildren(new Dialog(DataType.弹框));
            child.SetChildren(new Button(DataType.钮));
            //对象最后组合
            helper.SetChildren(menu);
            helper.SetChildren(child);
            //方法请求(默认)
            helper.HandleHelper(DataType.默认);
            Console.WriteLine("——————————");

            //方法请求(按钮)
            helper.HandleHelper(DataType.钮);
            Console.WriteLine("——————————");

            //方法请求(弹框)
            helper.HandleHelper(DataType.弹框);
            Console.WriteLine("——————————");

            //方法请求(菜单)
            helper.HandleHelper(DataType.菜单);
            Console.ReadLine();
        }
Ejemplo n.º 2
0
 public virtual void SetChildren(HelperHandler wigt)
 {
     if (apps == null)
     {
         apps = new List <HelperHandler>();
     }
     apps.Add(wigt);
 }