eweb4j-1.9很快就发布了,但是遇到一个问题,请各位老大帮我解决疑难

自风 发布于 2012/04/06 19:04
阅读 1K+
收藏 0
public class Pet extends Model{

    public final static instance = new Pet();

}

假设上面这个Pet通过继承Model来得到一些数据库操作的方法(暂时理解为一个AR的实现)。那么由于Java的语言限制,因此基本上无法实现类似Pet.findAll()这样的方式,当然,Pet.findAll(Pet.class)这样的静态方法是可以实现的,但是Pet.findAll()这样的,目前我是没有办法实现的,除了一个特例:Pet.findAll()这个静态方法在Pet这个类里面被调用的时候就行。因为我可以使用sun.reflect.Reflection来获取到这个callerClass。但是很明显的,这是不符合需求的。因此只能将所有的AR方法都做成实例方法。然后通过 new Pet().findAll()的方式。但是一般来说我们会使用工厂模式来避免这种new。例如我们会XXFactory.getPet().findAll()。来封装实例化细节。当然,我们也会使用上述代码里写的那样子:public final static Pet instance = new Pet()。这种类似 "饿汉式" 单例的方式,我想请教下,是否是属于某个人或者说某个东西的原创呢?

PS:我再次重复下问题,这种“饿汉式”的实例化方式+public static 来达到 Pet.instance的调用效果,是否是某个人,或某个软件的原创呢?如果是的话,能否找出来是哪个?如果真的有的话,我希望能找到该作者,并且请求他需要他的同意许可我才敢在我的代码里这样子写,否则我会被相关人怀疑是否抄袭了他。在这里我也恳请各位老大帮我找找是否真的有这种原创代码。小弟尚未毕业,涉世未深。

我希望在eweb4j下个版本发布的时候,没有任何所谓的抄袭烦恼。有的话,我希望知道抄袭的是谁的。真心谢谢各位啦。

最后,如果大家有兴趣知道是哪位大哥哥说我抄袭他的这种“原创”式写法的话,我会愿意公开的。

以下是问题补充:

@自风:我想说:我闭嘴。丫的继续,爱干嘛就干嘛。我如期发布我的框架。作为目前看到的这个public final static这块代码应该是使用框架的人写的代码,而不是框架本身硬性规定的方法,也没有封装进框架里面。JFinal不管有多牛逼,我都不会抄袭一丁点代码。如果丫的还咬着我不放,那就摆上台面来说吧,不过得稍等我发布1.9版本先,到时候也方便你抠哪些代码抄袭了你伟大的JFinal的。还请您指教。另外,我觉得我提供多一种选择(继承)给开发者自己选挺好的,(*^__^*) 嘻嘻……。所以我会愿意为此做些努力。 (2012/04/07 23:38)
加载中
0
JFinal
JFinal
继承自Model,连名字都不改一下,抄JFinal抄得够无耻的。当初不停地质疑与反对Model继承,没想到这么快就去抄袭JFinal。不要觉得这个 public static final User dao 就不是抄袭,不承认的话,你就别这么抄而去你自己想别的办法去实现ActiveRecord,我看你能有什么办法做得到,就算做到了看是否做到优雅。如果你能在别的框架中找到这种用法,我一定否认是我原创,创新在于一点一滴。无知的人才会这样无耻去抄袭JFinal,中国就是因为太多像你这样恬不知耻的人才会山寨泛滥,一个民族如果再多些像你这样无耻的人,永远也无法强大起来!
我是潮汐
我是潮汐
哎。。。
自风
自风
@wyq_wzw : 大哥哥,谢谢你给我上了一课,让我懂得什么叫做无知。
自风
自风
@开源狂人 : 嗯,你说的是。我不会再理会他了。
无聊的人们啊
无聊的人们啊
@像风一样自由_wei : 当初在jfinal群里说不用继承的人竟然用继承了?让人很意外啊!这难道就是0入侵的风格吗,感觉和jfinal的代码有些神似呢?让人费解!这难道就是所谓的抄袭吗?可能我想的太多了!
JFinal
JFinal
@开源狂人 : 我说的都是针对于他将来发布的下一版,他以前的版本都是在JFinal开源之前发布的,当然不存在抄袭,最近他贴出了下一版的一些代码,我才说这事的。抄袭的事我本不想这么说他的,关键是他对我本人进行攻击(说我无知等等),我没法再沉默了,如果他真是一位人才,应该能经得住这点挫折,但愿他能在开源的路上走好,谁不愿意中国多出点人才,多出点创新。抄别人的东西永远只有落后
下一页
1
自风
自风

引用来自“name=天天”的答案

继承Model来得到通用方法,其实还有两个解决办法。1、采用hibernate的思路,实现daoTemplate类,

2、采用动态语言的思路,如grails, 对pojo类进行动态注入方法,这个思路纯java的版本目前已经有人实现了,如自动注入setter、getter的那个插件。

大家都是为了技术的进步嘛,要多看到别人做的努力才行

谢谢您的回答。对于您的两点建议,我之前已经都做了。这次之所以会增加这样一个通过继承的方式,是因为想多留一个选项给开发者选。
0
Andre.Z
Andre.Z

唉,原来主角之一是你啊。。。看你写这些,我就知道是谁了。。。
这种是毫无意义的争论。别的地方早就出现过那些,多看看开源的东西,里面N多神似的,注意,是神似,是否这也算是?那干脆不要写代码了,因为前面不知道哪里早就有人用过了。正如看设计模式,会发现那些自己已经用了,只是不知道这么叫,而且也可能是自己想出来的,但是别人在前面用了,就只能算抄袭?那就是国人的悲哀啊。
东西写到最后,会发现,其实大家的做法都差不多那样。只许你牛,就不许别人牛,那也太霸道了。现在那些玩意,我都懒得去看了,万变不离其宗。什么pojo直接扔了吧,直接Map多省事。一反射,啥都有了。
小同学,哥顶你。
最后说一句,还是别公开的好,做人留一线,万事好商量。

自风
自风
万变不离其宗。支持原创精神,但是好的思想好的代码都可以借鉴,更何况我根本就没有抄袭任何一个人。谢谢大哥哥的支持! : D
0
JFinal
JFinal
JFinal刚上线上时,你来QQ群里面指手划脚,不停地质疑,没想到你这么快就去抄袭当初自己质疑与批评的JFinal,基本只有两个可能:一是虚伪。二是人格分裂。
JFinal
JFinal
@像风一样自由_wei : 我要炒做也会挑个有名气的,试问e4j能当作炒作的素材么?我仅仅是对你对我进行人身攻击很反感,所以才回应你的
自风
自风
好吧,我不仅仅虚伪,我也人格分裂,所以以后别再和我争论了。 =。=!我只是觉得这些是可以借鉴的我就学习吸收了,但请您这个“原创者”口下留情,请你推广自己框架的时候,别把我拉进去炒作,谢谢了,踏实点吧。
0
p
poolo.c
@ JFinal   你来地球什么有目的?
0
幻影浪子
幻影浪子

引用来自“poolo.c”的答案

@ JFinal   你来地球什么有目的?
哥们,你这是马甲吧?
0
p
poolo.c

@幻影浪子  不知道你说什么  我是从谷歌的ID关联过来的 如果说 我和楼主的关系  

楼主是我大学最好的朋友。

我是看着这个框架做起来的。

只是为了 某些人不负责的言论愤慨罢了。

 

另主动发动人格攻击的人 只能说心智不成熟。

JFinal
JFinal
@像风一样自由_wei : 单拿出这一行代码来说并不算抄袭,但用于ActiveRecord,用在extends Model之中,用于你攻击的“饿汉式”单例,让model无setter getter attribute,并在JFinal上线不久就出现在e4j之中那就是了。
自风
自风
@wyq_wzw : ╮(╯▽╰)╭,谢谢你告诉我public final static XXX xxx = new XXX();就是JFinal。
JFinal
JFinal
他多次对我进行人身攻击,忍无可忍了,必须要回应一下
无聊的人们啊
无聊的人们啊
楼主的instance改成dao的话就成了jfinal了,要么说中国复制能力这么强呢,原来有一群人从事这样的职业!
0
JFinal
JFinal

我为什么要反击,直接上个图:

 

0
JFinal
JFinal
请你首先弄清楚一件事情:是你先对我进行人身攻击的,我只是对你忍无可忍,才不忍你的。你现在放在网上的这一版确实没有抄袭,但你最近几天发布的例子代码中才体现了抄袭,这些例子展示的是eweb4j的下一版。当然,你可以就此打住,在下一版中保持原创性。你攻击过的JFinal、ActiveRecord以及“饿汉式“单例形式上看并没有什么高深之处,但e4j如果连续出现以下几个特征那就肯定是抄袭了:1:用于ActiveRecord。2:用在extends Model之中。3:用于Model.dao.method(...)。3:无setter getter attribute。如果这些特征同时出现,你别告诉我这纯属巧合。
0
自风
自风

引用来自“JFinal”的答案

请你首先弄清楚一件事情:是你先对我进行人身攻击的,我只是对你忍无可忍,才不忍你的。你现在放在网上的这一版确实没有抄袭,但你最近几天发布的例子代码中才体现了抄袭,这些例子展示的是eweb4j的下一版。当然,你可以就此打住,在下一版中保持原创性。你攻击过的JFinal、ActiveRecord以及“饿汉式“单例形式上看并没有什么高深之处,但e4j如果连续出现以下几个特征那就肯定是抄袭了:1:用于ActiveRecord。2:用在extends Model之中。3:用于Model.dao.method(...)。3:无setter getter attribute。如果这些特征同时出现,你别告诉我这纯属巧合。
你放心吧,我不会因为你而改变任何一点点。我真心希望你能做好自己。我是否抄袭,我自己知道。下个版本我稍后就放出,请你耐心等待。(*^__^*) 嘻嘻……。淡定点。到时候还希望你能赏脸从我的源码中抠出哪些代码抄袭了。十分感谢。
返回顶部
顶部