论坛首页 Java企业应用论坛

基础知识: 需求!

浏览 110184 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-08-22  
cat
我以前一直没看到!robbin一说,我才知道,原来你跟ajoo原来是一个论坛的人阿!怪不得!
ajoo为了将他的观点完善,拼命的加了“透明”这个词源进来,什么才算”透明“?按照透明这个概念说下去,还有“半透明”,“四分之一透明”等等的说法了。
难道为了使用ajoo所说的静态函数方法代替构造器,我们还需要仔细而慎重的研究哪个透明,哪些不透明???我敢说,在实际项目中,做这个所谓透明度分析,没几个人能够理的清楚。
如果为了使用ajoo的静态函数论,事情变得越来越复杂!
ajoo,你的学术气息是在太浓了,简直就是关门在家研究java!
ajoo,我这里有OA的项目,我邀请你来参加算了,把你身上的学术气洗一洗!!!
0 请登录后投票
   发表时间:2004-08-22  
至于ajoo的这句话:
引用

所谓的紧密耦合本来就是你用构造函数或者继承也避免不掉的。

我一直持可笑态度!!
0 请登录后投票
   发表时间:2004-08-22  
cat 写道
对于实现的任何细微的修改,都会或多或少影响到性能,找这个思路下去,以性能为借口,可以威胁封装原则。这是两个不同层面的问题。


你显然误解了readonly的意思了。readonly这里只是举一个例子而已。在实际用Java开发的软件项目中,类似的需要延迟创建,或者预创建对象的时机选择会经常碰到,这不是性能问题,而是一个根据不同的应用场景进行权衡,采用不同对象创建时机的问题。而按照ajoo的原则,显然在工厂方法里面不能够确定创建时机,必须把创建时机放在外面,因此结果就是工厂= new。
0 请登录后投票
   发表时间:2004-08-22  
cat 写道

我认为ajoo在前面讨论的都是基于语义的,而在结论中的透明也是针对语义的透明,当然,没有说明确是ajoo的事。对于实现的任何细微的修改,都会或多或少影响到性能,找这个思路下去,以性能为借口,可以威胁封装原则。这是两个不同层面的问题。


既然这么说,那么你之前举的那几个ajoo早就点出了透明性的例子,完全是南辕北辙。那几句话都说明不了ajoo曾经指出过语义透明,只是说明ajoo点出了函数里面干的活对client的透明,或者说函数的调用者不需要了解被调用函数究竟怎么个实现,这个,只是个常识,信息量等于0。
0 请登录后投票
   发表时间:2004-08-22  
logo 写道

你显然误解了readonly的意思了。readonly这里只是举一个例子而已。在实际用Java开发的软件项目中,类似的需要延迟创建,或者预创建对象的时机选择会经常碰到,这不是性能问题,而是一个根据不同的应用场景进行权衡,采用不同对象创建时机的问题。而按照ajoo的原则,显然在工厂方法里面不能够确定创建时机,必须把创建时机放在外面,因此结果就是工厂= new。


确实这么简单。在普通的工厂方法中,因为它出现在接口上,所以可以通过子类来选择创建方式(或者直接拉伸到抽象工厂)。
而在静态工厂方法,这种弹性=0。
唯一的弹性之处在于用注册方式实现的singlton,可以实现子类化,但是,那是singlton实例的选择,而不是创建时机/方式的选择,属于另外一个话题。hehe
0 请登录后投票
   发表时间:2004-08-22  
firebody 写道
cat
我以前一直没看到!robbin一说,我才知道,原来你跟ajoo原来是一个论坛的人阿!怪不得!
ajoo为了将他的观点完善,拼命的加了“透明”这个词源进来,什么才算”透明“?按照透明这个概念说下去,还有“半透明”,“四分之一透明”等等的说法了。
难道为了使用ajoo所说的静态函数方法代替构造器,我们还需要仔细而慎重的研究哪个透明,哪些不透明???我敢说,在实际项目中,做这个所谓透明度分析,没几个人能够理的清楚。
如果为了使用ajoo的静态函数论,事情变得越来越复杂!
ajoo,你的学术气息是在太浓了,简直就是关门在家研究java!
ajoo,我这里有OA的项目,我邀请你来参加算了,把你身上的学术气洗一洗!!!


冷静冷静。firebody太想一棒子把ajoo的观点打死了。可是ajoo筒子显然生命力顽强,几个帖子加起来二三百贴讨论下来,ajoo仍然能够自圆其说。

你要想说服一个人就必须用他接受的思维方式来说服。显然在JavaEye论坛的部分人的思维方式和abp显然不一样。这也是为什么这样的讨论在JavaEye没有abp那么友好的原因之一。

因为ajoo并不按照JavaEye大多数人公认的思维方式来思考问题,用项目案例、流行框架、项目经验作为论据这种JavaEye大多数人进行交流的前提并没有被ajoo认可。

讨论到现在,由于JavaEye论坛大多数人具备共同的思维基础,已经形成了一个统一的观点,因此就形成了JavaEye论坛n多人对ajoo的围攻架势,这也是ajoo认为JavaEye不友好的原因之一。

我奉劝JavaEye大多数想说服ajoo的人,面前只有两条路:

1、放弃这场旷日持久的争论,做你自己更有意义的事情。
2、用和ajoo所能够接受的逻辑思维方式来说服ajoo。不过看起来很难办到。
0 请登录后投票
   发表时间:2004-08-22  
我在这个帖子里面试图用logo的第2种方法,但事实上还是很难让ajoo明白我的意思

并且在讨论过程中出现了很多我认为是非常严重的基本原则问题,如果要把每一个这样的原则都进行重新讨论,显然不是我的时间、精力和能力所能允许。

所以我不准备在讨论下去了
0 请登录后投票
   发表时间:2004-08-22  
potian 写道
我在这个帖子里面试图用logo的第2种方法,但事实上还是很难让ajoo明白我的意思

并且在讨论过程中出现了很多我认为是非常严重的基本原则问题,如果要把每一个这样的原则都进行重新讨论,显然不是我的时间、精力和能力所能允许。

所以我不准备在讨论下去了

我也宣布退出讨论!
0 请登录后投票
   发表时间:2004-08-22  
其实很多东西就是逻辑上是成立的,但是实际上是无用的,同时也存在逻辑上是不成立的,但是实际上是有价值的.作工程和做学术分歧就在这里,学术永远要以逻辑为主,工程永远以价值为主.这就好像我十分讨厌静态这个修饰,但是我一样会没有感情障碍的单例.说来说去ajoo的方法在我们应用的绝大多数场景中就成为静态工厂==new,而这样的讨论如果在一门以学习语言的讲课中去进行就很合适了.
0 请登录后投票
   发表时间:2004-08-22  
potian 写道
我在这个帖子里面试图用logo的第2种方法,但事实上还是很难让ajoo明白我的意思

并且在讨论过程中出现了很多我认为是非常严重的基本原则问题,如果要把每一个这样的原则都进行重新讨论,显然不是我的时间、精力和能力所能允许。

所以我不准备在讨论下去了


hehe,OCP是最基本的,类似于公理。而其他的几个原则都可以看作是OCP在某个方面的具现。而要把OCP用简单的方式说透,不太容易。最好的方法也是把其他几个衍生原则说透了,OCP也就水到渠成。
这个太累了,而且也没必要。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics