我知道逻辑层应该写一些逻辑判断的语句,但是有些复杂的代码,操作ui的,可以放在逻辑层吗?比如我要获取一个treelist选中项的代码,看上去有点复杂,还是在逻辑层吗?如下public void GetCheckedID(TreeListNode parentNode)
        {
            if (parentNode.Nodes.Count == 0)
            {
                return;//递归终止
            }            foreach (TreeListNode node in parentNode.Nodes)
            {
                if (node.CheckState == CheckState.Checked)
                {
                    DataRowView drv = treePower.GetDataRecordByNode(node) as DataRowView;
                    if (drv != null)
                    {
                        int ID = (int)drv["EventID"];
                        lstCheckedID.Add(ID);
                    }
                }
                GetCheckedID(node);
            }
        }
三层架构UI

解决方案 »

  1.   

    数据层 逻辑层 表示层 你可以加一个 通用方法层 XXXXCommon
    把常用方法 放在 XXXXCommon
      

  2.   

    很明显 GetCheckedID(TreeListNode parentNode) 和 数据库没有关系 
    可以直接 放在 XXXXCommon
      

  3.   

    业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
    所谓三层架构,并非单单就只有三层,给你看个截图三层的,有多少个文件夹,就有你所谓的多少“层”,但他还是三层,有些公共方法,可以建一个新的类库,图片中选中的就是我放公共方法的类库,然后再去调用就行啦
      

  4.   

    逻辑层BLL调用dal里面的方法吧
      

  5.   

    BLL一般起一个过渡作用,表明业务的逻辑关系,调用的是DAL的方法,DAL才是真正操作数据库的