业务层的调用看不懂

liguokun 2008-10-15 05:27:01
今天在看源码的时候,看到业务层中的函数调用如下,有谁能解释一下吗?

public static List<User> UserSelect(Pagination entity)
{
return CommonDataProvider.Instance().UserSelect(entity);
}

...全文
220 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
liguokun 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 oec2003 的回复:]
引用 17 楼 liguokun 的回复:
在CommonDataProvider中UserSelect的语句如下:
public abstract List <User> UserSelect(Pagination entity);
只此一句.
为什么没有函数体呢?只有函数的定义?


这是个抽象方法
[/Quote]

为什么要抽象方法?有什么用途?
xujian5656 2008-11-03
  • 打赏
  • 举报
回复
CommonDataProvider CommonDataProvider=new CommonDataProvider();//这是实例一下DAL
public static List <User> UserSelect(Pagination entity)//DAL里的方法返回类型为List型数组
{
return CommonDataProvider.Instance().UserSelect(entity); //返回方法
}
liguokun 2008-11-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 oec2003 的回复:]
引用 17 楼 liguokun 的回复:
在CommonDataProvider中UserSelect的语句如下:
public abstract List <User> UserSelect(Pagination entity);
只此一句.
为什么没有函数体呢?只有函数的定义?


这是个抽象方法
[/Quote]

在CommonDataProvider的开头有下面一句注释:
/// 数据访问抽象类,由数据层(DataAccess.SqlDataProvider派生,实现数据访问方法)

那是不是说,return CommonDataProvider.Instance().UserSelect(entity);这句话其实就是调用SqlDataProvider中的UserSelect方法,CommonDataProvider其实没什么用处?


liguokun 2008-11-03
  • 打赏
  • 举报
回复
CommonDataProvider中的这句话
public abstract List <User> UserSelect(Pagination entity);

就可以达到调用SqlDataProvider中的UserSelect方法吗?
fffff_1982 2008-11-02
  • 打赏
  • 举报
回复
有猫腻,呵呵
dsclub 2008-11-02
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 liguokun 的回复:]
在CommonDataProvider中UserSelect的语句如下:
public abstract List <User> UserSelect(Pagination entity);
只此一句.
为什么没有函数体呢?只有函数的定义?
[/Quote]

当然了,那个是Provider啊,具体实现看你是用SQL、还是Oracle或是Access的什么啦…… 写Provider的目的就是为了方便以后数据库迁升的。

具体你可以看看配置文件,一般都是访问配置文件来决定Provder的采用那个类的具体实现。

咋说呢,看看设计模式的书,这里面还有单件模式。

另外去下个PetShop来好好研究,里面大量Provider的应用。
Nobel0429 2008-11-02
  • 打赏
  • 举报
回复
传一个entity对象 返回一个user对象
oec2003 2008-11-02
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 liguokun 的回复:]
在CommonDataProvider中UserSelect的语句如下:
public abstract List <User> UserSelect(Pagination entity);
只此一句.
为什么没有函数体呢?只有函数的定义?
[/Quote]

这是个抽象方法
liguokun 2008-11-02
  • 打赏
  • 举报
回复
在CommonDataProvider中UserSelect的语句如下:
public abstract List<User> UserSelect(Pagination entity);
只此一句.
为什么没有函数体呢?只有函数的定义?
hql5202004 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 liguokun 的回复:]
引用 10 楼 lovexxj 的回复:
引用 8 楼 liguokun 的回复:
为什么中间多了个Instance().
UserSelect是用来查询输入的用户名密码是否正确.


Instance() 是创建CommonDataProvider的一个实例

为什么要写到CommonDataProvider里,而不是需要的时候new CommonDataProvider()

主要是由CommonDataProvider提供一个统一的创建实例的接口,也算降低两层之间的耦合性吧



应该是的,在类CommonDataProvider中有如下…
[/Quote]

up,可以转到定义看看
hanqingyu 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xhbmj 的回复:]
public static List <User> UserSelect(Pagination entity)
{
return CommonDataProvider.Instance().UserSelect(entity);
}
返回一个公共的静态的List(可能是个用户列表, <>代表泛型),传入的可能是实体类,还要看看Pagination 是如何定义的
[/Quote]

我看也像
liguokun 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lovexxj 的回复:]
引用 8 楼 liguokun 的回复:
为什么中间多了个Instance().
UserSelect是用来查询输入的用户名密码是否正确.


Instance() 是创建CommonDataProvider的一个实例

为什么要写到CommonDataProvider里,而不是需要的时候new CommonDataProvider()

主要是由CommonDataProvider提供一个统一的创建实例的接口,也算降低两层之间的耦合性吧
[/Quote]


应该是的,在类CommonDataProvider中有如下语句:

private static CommonDataProvider _defaultInstance = null;

public static CommonDataProvider Instance()
{
return _defaultInstance;
}

应该是返回一个CommonDataProvider 实例.

tao252275952 2008-11-01
  • 打赏
  • 举报
回复
学习......帮顶.....
gengwanshanreally 2008-10-31
  • 打赏
  • 举报
回复
转到定义...Look at
kfps8kfps8 2008-10-31
  • 打赏
  • 举报
回复
学习了
lovexxj 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liguokun 的回复:]
为什么中间多了个Instance().
UserSelect是用来查询输入的用户名密码是否正确.
[/Quote]

Instance() 是创建CommonDataProvider的一个实例

为什么要写到CommonDataProvider里,而不是需要的时候new CommonDataProvider()

主要是由CommonDataProvider提供一个统一的创建实例的接口,也算降低两层之间的耦合性吧
oec2003 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liguokun 的回复:]
为什么中间多了个Instance().
UserSelect是用来查询输入的用户名密码是否正确.
[/Quote]

你可以转到定义看一下
liguokun 2008-10-31
  • 打赏
  • 举报
回复
为什么中间多了个Instance().
UserSelect是用来查询输入的用户名密码是否正确.
kugou123 2008-10-15
  • 打赏
  • 举报
回复
UserSelect方法可能是封装DAL层相关的东西根据entity获取相关的User实体列表
无爱大叔 2008-10-15
  • 打赏
  • 举报
回复
public static List <User> UserSelect(Pagination entity)
{
return CommonDataProvider.Instance().UserSelect(entity);
}
返回一个公共的静态的List(可能是个用户列表,<>代表泛型),传入的可能是实体类,还要看看Pagination 是如何定义的
加载更多回复(5)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧