C# 三层的理解请教一下

我对三层不理解的地方要请教一下各位

是不是所有对DAL层的操作都放到BLL层,哪怕这个函数只用一次,有些页面针对性很强,比如登陆,

我在BLL层写了一个Login登陆函数,UIL调用,返回true和false,但这个函数只会用到一次。

UIL不写SQL语句,所有的SQL语句操作都放到BLL层。

还有就是一些公用的函数,不是对DAL层操作的也放到BLL层吗。

我最不理解的就是MODEL层,用来传值?能麻烦举例说明一下吗

Model申明数据对应的类,和sql操作相关的放DAL层,哪怕只用一次。一些公用函数可以放到工具类中。
具体参考:


如果是C#,题主可以考虑入坑MVC了。

  1. 所有的对DAL 的操作 一律放在 BLL 来, 每个层都有自己的职责, 可以降低耦合性。
  2. 公用的函数一般单独建一个类库, 例如:Util , 可以在Util 这个类库写一些不访问数据库的公用代码,
  3. Model的问题,我给你举个简单点的例子,C# 中的面向对象不是说,万物皆对象吗, 那么这个Model 就什么都可以存储,
    比如:你现在需要存储购物车相关的信息(商品名称,商品价格, 商品图片地址,商品数量等等,)那么你就可以定义一个 ShoppingCart的Model 对象
/// <summary>
/// 购物车
/// </summary>
public class ShoppingCart
{
    /// <summary>
    /// 商品名称
    /// </summary>
    public string CommodityName { get; set; 

    /// <summary>
    /// 商品数量
    /// </summary>
    public int CommodityCount { get; set; }

    /// <summary>
    /// 商品价格
    /// </summary>
    public int CommodityPrice { get; set; }
}

如果现在需要将购物车里面的商品信息查询出来,按照一般的逻辑, 你肯定需要通过Bll 去访问Dal, 然后将载有数据的List<ShoppingCart>对象返回到页面,那么这个时候,Model 就成了购物车的载体,用来传递数据, 当然 Model 不仅仅 是购物车, 也可以是人(名字, 年龄, 生日)等等, 总结一句话, 万物接对象。

winForm 现在的互联网公司很少使用了, 除非是医院, 政府的系统才会用到, 现在都转成 B/S 的架构了, 方便使用,维护。 三层架构准确来说并不是绝对的, 他是一种语法规范,方便企业的开发与维护。 如果将Bll 层去掉, 代码一样能跑。 现在大部分企业都使用MVC的架构了, 也有部分企业转向.net core , 主要是.net core 性能好, 跨平台。
你也可以关注我一下,有问题可以私信我, 我一般看到了都会回复你。也可以看下我的其他文章, 希望对你有帮助