为了账号安全,请及时绑定邮箱和手机立即绑定

(立即节贴)业务逻辑层的方法做成静态与非静态的区别.

(立即节贴)业务逻辑层的方法做成静态与非静态的区别.

慕斯709654 2018-12-07 11:56:22
业务逻辑层的方法成静态与非静态的区别.我看有的项目bbl是补通方法,在UI需要实例化一下.有的则是静太的.ui直接打点调用.使用肯定是后一种方便.不知道,后一种有什么隐患没有?
查看完整描述

15 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

静态方法:常驻内存,类的静态成员调用是共用同一个块区域。调用速度比实例快,使用方便。 非静态方法:每创建一个类实例时,系统为非静态成员新分配一块存储,因为它需要实例化对象,因此比静态方法稍慢,必须实例化类后才能调用。 非静态方法能访问类中的所有成员,而静态方法只能访问静态变量。 静态方法不自动进行摧毁,而实例化则可以做摧毁。 非静态方法则是让开发更加面向对象化。
查看完整回答
反对 回复 2019-01-21
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

那个回答,没有答到点上.静态方法,我了解. 我是问有没有什么隐患 ,大家都是怎么做的呢?
查看完整回答
反对 回复 2019-01-21
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

@beyoung:没有什么安全隐患,如果这样,你直接看静态方法和实例方法的区别就可以了。
查看完整回答
反对 回复 2019-01-21
?
HUX布斯

TA贡献1876条经验 获得超6个赞

你的业务逻辑类如果没有状态的话,就用静态方法,把这些静态方法放到一个类下,顶多是便于区分静态方法功能而已。

查看完整回答
反对 回复 2019-01-21
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

简单点来说,静态方法,你需要保证线程安全

查看完整回答
反对 回复 2019-01-21
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

能详细说说吗?举个例子最好的是.
查看完整回答
反对 回复 2019-01-21
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

很多人访问的时候,会有多线程案全的隐患吗?
查看完整回答
反对 回复 2019-01-21
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

比如说,数据库处理,静态共用一个Connection时,假如如下的写的
查看完整回答
反对 回复 2019-01-21
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

if(!opened){ open connection(); } ... close connection() 这样的情况下,如果A线程、B线程都执行到该方法中了,但是A线程把connection对象关闭了,则B的访问就会出错了
查看完整回答
反对 回复 2019-01-21
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

假如用静态的话,层间调用就是紧耦合的,如果想更灵活一点的话,你可以研究下IoC,既可保证性能,也可以松耦合。

查看完整回答
反对 回复 2019-01-21
  • 15 回答
  • 0 关注
  • 439 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信