我的业务中要用到获取产品"实时"库存的逻辑,我在实体层Model建了一个类为Product,并为类建了个字段Stock用来存储此Product的库存;
以下是代码片断:public abstract class ProductBase
{
...... private int stock = 0;
[Description("库存量")]
public int Stock
{
get
{
return stock;
}
set
{
stock = value;
}
} ......
}代码这样写我觉得有个问题,那就是库存的实时性非常强,而属性Stock的get选择器并没有明确指出如何获取库存,我认为的理想情况是将它改为下面的样子: private int stock = 0;
[Description("库存量")]
public string Stock
{
get
{
return BLL.GetProductStock(productID); //调用BLL层的方法获得库存量
}
//set
//{
// stock = value;
//}
}但现在的问题是:业务逻辑层BLL已层引用了实体层Model,Model层再引用BLL层就会出现交叉引用而出错,请问如何解决这个问题?
以下是代码片断:public abstract class ProductBase
{
...... private int stock = 0;
[Description("库存量")]
public int Stock
{
get
{
return stock;
}
set
{
stock = value;
}
} ......
}代码这样写我觉得有个问题,那就是库存的实时性非常强,而属性Stock的get选择器并没有明确指出如何获取库存,我认为的理想情况是将它改为下面的样子: private int stock = 0;
[Description("库存量")]
public string Stock
{
get
{
return BLL.GetProductStock(productID); //调用BLL层的方法获得库存量
}
//set
//{
// stock = value;
//}
}但现在的问题是:业务逻辑层BLL已层引用了实体层Model,Model层再引用BLL层就会出现交叉引用而出错,请问如何解决这个问题?
解决方案 »
- 提取网页源码,遇到编码转换的问题
- 分页 的一个小问题。。。。。求救
- 装了Framework3.5以后.IIS中没有ASP.NET版本选项卡
- JS 怪问题 仁兄救命
- asp.net2.0生成静态HTML新闻显示怎作?
- 麻烦帮我看看这个代码,调试出错了,说列名“MMColParam”无效,ASP vb.net+SQL2000
- 如何在网页a.aspx关闭网页b.aspx?
- 链接SQL出错,使用IEWebContorls出错!
- 不是代码错误吧??请大侠帮忙
- .NET 风格的菜单,Web Control的使用,绝对精彩!!!
- 请教一个 关于 GridView的 一个 小问题
- Session为空时报错,偶是新手,高手进来看下
GetStock方法 与 virtual 方法有没有摆脱 业务逻辑层的实现?
也就是说,GetStock() 方法是要不要调用业务逻辑层的代码呢?
或者说,如何让GetStock方法直接在Model能实现而有调用BLL层代码?
public int Stock
{
get
{
return stock;
}
}
你怎么会想到Model层引用BLL层?