想问一个三层开发的小问题!有关于类方法的调用...

asimplefire 2009-03-27 06:19:36
前一段时间,我看了不少三层开发的源码.包括petshop,发现这么两个现象:
在DAL类文件里,其中方法前有这么一段代码:

private static BaseAccess _baseaccess = null;
public static BaseAccess baseaccess
{
get
{
if (_baseaccess == null)
{

_baseaccess = new BaseAccess();
}
return _baseaccess;
}
}

我知道,这段小代码主要是为了方便该类内方法的引用.
另外一种现象,就是直接将该类里的方法申明成static类型,在类外也可以很方便地直接调用.
以上两种方法避免了用new实例一个对象后再来调用.
现在我就是想问的是,这两种方法各自在适用性上有什么不同吗?为了方便类里的方法直接调用,一般都是采用这两种方法吗?
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangyaoshun 2009-03-27
  • 打赏
  • 举报
回复
wenkekenihao 2009-03-27
  • 打赏
  • 举报
回复
明显的单件模式嘛。呵呵,保证一个应用程序中只有一个全局实例对象
笺香 2009-03-27
  • 打赏
  • 举报
回复
受用呵。多谢了哟。
wanghui0380 2009-03-27
  • 打赏
  • 举报
回复
我知道,这段小代码主要是为了方便该类内方法的引用.
错误,这里并不是要方便类方法引用,而是一种单件的模式的实现,他原本的含义是保证你的系统里,只能有一个BaseAccess对象的实例存在。
Azrael_zui 2009-03-27
  • 打赏
  • 举报
回复
厄~~!!!
朋友,这个貌似是单例模式代码吧!
private static BaseAccess _baseaccess = null;
这句用来保存BaseAccess 实例的。
get
{
if (_baseaccess == null)
{

_baseaccess = new BaseAccess();
}
return _baseaccess;
}
这是判断BaseAccess 是否为空对象,如果是空对象就返回一个新实例,如果不为空就返回已有的实例。
还有这里是属性不是方法......
wuyq11 2009-03-27
  • 打赏
  • 举报
回复
设置属性。差不多
jin225 2009-03-27
  • 打赏
  • 举报
回复
差 不多啦
叶子 2009-03-27
  • 打赏
  • 举报
回复
适用性差不多,一般就这两种方法。
Jack123 2009-03-27
  • 打赏
  • 举报
回复
是的。

62,267

社区成员

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

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

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

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