请问逻辑层的类方法为什么要写成静态的啊?
新来了一件公司, 发现他们的逻辑层的访问数据层的函数大多都是静态的static
我有个问题就是:
以前的公司很少会用到静态的方法,而是在需要用到逻辑层类的地方,写一个
私有的属性,比如:
private ProductBLL productBll;
private ProductBll PorductBllInstance{
get{
if( this.productBll==null ){ this.productBll=new ProductBll(); }
return this.productBll;
}
}
总是觉得以前的写法比较好,因为这个逻辑层的对象在用的时候只会实例化一次 ,
文艺一点说, 这是一种单例模式的写法,
我想问问static的写法和单例模式的写法,各有什么好处和坏处啊??
小弟刚刚当程序员,啥都不懂,求助各路大神!!!!
------解决思路----------------------单例模式的好处仅仅是"延迟加载",而不是初始化的时候就加载
而且即使是单例模式,也有把私有属性设置成static的方式
而且函数本来就不需要做成实例的,除非函数里还要用到非静态的属性
------解决思路----------------------这样写法不是单例的问题,是全局访问,因为有很多人喜欢一种写法
不管用不用,在字段部分直接先实例化,有时候你就会发现类顶部new了十几个bll,但你要用的方法其实根本用不到这些
private ProductBLL productBll = new ProductBll();
而这种写法其实就相当于Lazy<T>
但就个人而言,不喜欢这种写法,个人一直喜欢在用的地方才实例