现在的位置: 首页 > 综合 > 正文

2010-4-8谁应该知道的更多

2012年12月20日 ⁄ 综合 ⁄ 共 482字 ⁄ 字号 评论关闭

今天在包装一个功能的时候遇到一个问题,谁应该知道更多的信息?

问题是这样的,一个类,需要一个文件路径参数,这个参数是写在构造函数中还是写在方法签名中?

1.写在构造函数中:好处是可以在构造时送入,可以通过配置读取送入,并且配置读取模块不用分离在个各类中,即在同一处做配置文件读取,并初始化好这个类以后就可以送入其他类来使用了。坏处是不太容易理解,接口缺少这个参数,会变得有一些难以理解。

2.写在方法签名中:好处就是接口容易理解。坏处就是调用者必须知道这个参数,如果通过配置文件读取送入的话,配置文件处理就会分散在各处。

总结起来,这个问题就是谁应该知道谁的问题,一般的,如果需要使用这个类,必然先要进行构造,即类的构造者和使用者是同一方法或者类,这样就会造成两个类的耦合。如果想解开耦合,类的构造者和使用者必然不会是同一个类或方法,这样的话就会出现上述的问题,到底是创造者应该知道的更多还是使用者应该知道的更多?

个人认为,这个问题应该没有一个固定的模式,只要搞清楚利弊,在应用的时候就能得心应手,如果硬套的话,可能就会出项一些比较诡异的代码了。

记录一下以备时刻提醒自己。

抱歉!评论已关闭.