OO的环境上,需要控制对象
OO的环境下,需要控制对象
对象已经存在,但没有你需要的功能。这时需要在已有对象的基础上编写逻缉,这样的逻缉作为控制逻缉存在是合适的。
比如:String的 非null非空串判断
又如:调用别人提供的webservice API,一样存在类似的情况。
这说明,在现实的OO编程中,还是需要一部份逻缉是独立存在的,而它相关的数据不是和它在一个地方的。
这样的逻缉,因为不能随着对象的出现而出现,因此可能会写死到业务逻缉中,从而形成重复代码。
软件中的Helper或Util类就是用来放这种逻缉的地方。可以在任意位置使用。
对象已经存在,但没有你需要的功能。这时需要在已有对象的基础上编写逻缉,这样的逻缉作为控制逻缉存在是合适的。
比如:String的 非null非空串判断
又如:调用别人提供的webservice API,一样存在类似的情况。
这说明,在现实的OO编程中,还是需要一部份逻缉是独立存在的,而它相关的数据不是和它在一个地方的。
这样的逻缉,因为不能随着对象的出现而出现,因此可能会写死到业务逻缉中,从而形成重复代码。
软件中的Helper或Util类就是用来放这种逻缉的地方。可以在任意位置使用。
1 楼
悲剧了
2011-11-18
比如在web开发里,登录用户信息存放到session里面,需要使用用户信息,就需要每次都判断session是否存在,还要判断里面是否存在user找个对象,造成很多冗余代码,而且污染了业务逻辑 代码也很难看
同一封装这些东西,写一个Helper或者util 比较好
但结合web可以根据路径对进入这下面的请求都所拦截,如果你找个请求里面不存在user,那么统一给处理
然后开发时候,在下面写的代码也不需要做任何判断,直接取接ok了
同一封装这些东西,写一个Helper或者util 比较好
但结合web可以根据路径对进入这下面的请求都所拦截,如果你找个请求里面不存在user,那么统一给处理
然后开发时候,在下面写的代码也不需要做任何判断,直接取接ok了
2 楼
gdpglc
2011-11-18
呵呵... 这例子很有启发。
我说的情况是对已有对象加入新功能时,需要Helper和Util。
你说的情况是多种操作之间存在共同的逻缉,这种重复不是因为没有恰好的对象分解,而是因为过程间存在相同的步骤,这些相同的内容可以封装,但是调用点以及调用结果对调用者控制流转的影响是无法避免重复的。
这时你说的方法很有效,这更向是AOP。
我说的情况是对已有对象加入新功能时,需要Helper和Util。
你说的情况是多种操作之间存在共同的逻缉,这种重复不是因为没有恰好的对象分解,而是因为过程间存在相同的步骤,这些相同的内容可以封装,但是调用点以及调用结果对调用者控制流转的影响是无法避免重复的。
这时你说的方法很有效,这更向是AOP。