z*******3 发帖数: 13709 | 1 struts是把程序员从手写servlet的恶梦中解救出来,释放到pojo的天然环境中去
你现在要写doget和dopost,但是如果用了struts
你就可以不需要写这两个方法了,剥离了继承
其实我个人觉得这点改进并不明显,尤其是在早期的struts版本中
后期好点,无所谓了,反正现在用的人少了
至于spring,这个搜索一下就有,比如这个
http://www.myexception.cn/j2ee/12825.html |
|
t*******e 发帖数: 684 | 2 Struts流行的时候,ORM还没成熟,POJO domain model不能直接bind web form fields
,还要有个form bean layer。现在都不用了。 |
|
x****d 发帖数: 1766 | 3 POJO is good, it is the form, but not the intention. |
|
c*********e 发帖数: 16335 | 4 现在的趋势是各个tier之间只传送string。一個pojo,都嫌不够精简。所以json红火,
jquery红火,flash半死不活,session beans没人用。现在的趋势是由繁杂回归到简单。 |
|
t*******e 发帖数: 684 | 5 json document在serverside也是map成POJO。Jackson就是干这个的,和JAXB,Xstream
没什么不同。没有谁会一路用string处理json document的。
单。 |
|
g*****g 发帖数: 34805 | 6 我就是说,所谓POJO,lighted-weighted, no container,都是一回事。
JSR330@ |
|
c*m 发帖数: 836 | 7 Market decide? Market decide 不用EJB 2.0又不是因为它不好配置,而是因为它太笨
重,对container的dependency太强,基本上是一种过时的架构。Spring和Hibernate代
表的是以pojo和IOC为特征的新的light weight, environment independent的趋势,当
然取代EJB 2.0了。难道spring和hibernate比EJB容易配置?hibernate的配置比原来的
session bean复杂多了。
我一直纳闷EJB有啥难配置的,不就是个xml config file的element吗?就算是啥都不
懂的初学者,从J2EE的官网上下载那个petstore的war, 啥都不用改,直接deploy就行
了。 |
|
o**2 发帖数: 168 | 8 我不是很理解你的问题,这些是POJO,用在哪里它都遵循Java language的定义啊。
根据楼主的介绍,我估计他的程序要么是一个batch job,要么是一个back office的
engine。这些class的instance肯定不是直接为每一个http connection创建和服务的。 |
|
Y********f 发帖数: 410 | 9 8年的C/C++经验,最近改用java,感觉东西好多啊,语言本身问题不大,google一下就
差不多了。但是到framework这块彻底晕菜了,一堆的概念,什么Ioc,AOP,bean, EJB
, POJO还有一堆的设计模式。有啥好的文档看看? |
|
P*****f 发帖数: 2272 | 10 是不是都用 annotaion, schemaless的POJO了,
总觉得在表达enity之间关系的时候比schema来得复杂,有没有好的review 文章? |
|
n*w 发帖数: 3393 | 11 does pojo violate oop principle? |
|
c*********e 发帖数: 16335 | 12 pojo没违反阿,javabean里面照样有getxxx,setxxx method啊。 |
|
c*********e 发帖数: 16335 | 13 每次看到pojo,poco就想笑,c#抄java抄到这个份上了,sigh.
plain old java object
plain old CLR object |
|
o**2 发帖数: 168 | 14 messenger接受三种objects作为receiver:
1)POJO/POCO,来自没有任何metadata的class
2)带有IReceiver marker interface
3)带有ICallee marker interface
对第一种,也就是这里例子里的worker1&2,messenger直接用reflection来动态确定一
个method(根据当时arguments的数量和类型),并执行。 |
|
o**2 发帖数: 168 | 15 我在8楼列举了一些FMP的优点,不过一时半会儿是解释不清的。所以我说“进驻
Programming 版”就是长期从各个方面介绍FMP的特色。
FMP的核心是active object,并规定active object是virtual的,要一个virtual
machine来realize它们,Messenger就是这样一个virtual machine。
如果把active object看成是一个interface,就可以更好理解用户的责任:用户需要实
现这个interface声明的function。(上面的例子中有两个activeobject:“worker1”
和“worker2”,它们的function分别是do10seconds和do15seconds。)
用户怎么做呢?这由Messenger来定,比如我提供的reference implementation中的
Messenger支持三种方式:POJO (via reflection),IReceiver,和ICallee。
FMP并不定义Messenger和用户之间的事,比如你完全可以开发一个你的Messenger,让
它支... 阅读全帖 |
|
|
z*******3 发帖数: 13709 | 17 servlet的debug是有点麻烦
用spring mvc,全部上pojo就容易debug了 |
|
c*********e 发帖数: 16335 | 18 servlet debug确实麻烦,里面逻辑非常乱。
我现在管的legacy code里面,根本不经过servlet,直接在java beans(pojo)里写query
database,jsp网页通过ajax传到自己這個jsp网页,传的过程中,新的data通过java
beans的query database产生,不经过servlet. |
|
F*M 发帖数: 104 | 19 cloud本身是不是也是一个buzz word? 我看过的一些资料显示这是七几年就有的概念(
好像是一位MIT的教授首先提出)。coin这个word跟大牛当年发明pojo的意图是一样的
。email存在很久了吧?这东西就是一个cloud app. |
|
|
l******t 发帖数: 55733 | 21
可以这么理解吧,匿名类根本就是为了支持lambda的。pojo基本是lambda的另一种形式
。我记得
programming Scala有章专门讲替代spring的approach。
design pattern的出现基本是因为第一没first order function,第二没type/traits
。有了这两,大部分design pattern 都不需要了。
Oop应该算托密勒地心说。FP就是哥白尼。 |
|
l******t 发帖数: 55733 | 22
pojo可以理解成代入。
如果反射就可以,java还搞什么匿名类? |
|
|
l******t 发帖数: 55733 | 24
有很多角度可以探讨一下。
比如Spring,Spring的config/context xmls本身看可以看成是一种DSL,这些pojo,就
是DSL中的function/data。一个如何从FP的角度理解DSL的blog,
http://www.defmacro.org/ramblings/lisp.html
再换个说法,lambda本身被证明可以产生任何算法,所以任何算法都可以从lambda角度
描述。这不是大而化之。OO的很多东西从FP来看是很straightforward和intuitive的。
用OO只能说是做job,用FP是有快感的。老赵还没去试试FP? |
|
z****e 发帖数: 54598 | 25 淘宝那篇文章写得有点问题
model本身如果具体一点应该是dto
然后dao这些,各种o,后来简化成pojo
不是说backend才有model
backend压根不提model这个概念
dao, entitybean, orm这些还差不多
把model放到backend去我知道他想说啥
但是这样做显然是错误得,model应该是流动于各个layer之间的
甚至有必要丢给view,jsp里面也有model撒
简单说就是,以前ejb时代,如果用的是local接口的话
那一个o可以从view捅到db,一捅到底
spring简化了开发之后,经常这么做
现在分层了,每个层都应该有自己的o,具体到mvc就是model了
那篇文章还是用frontend的思维来看问题 |
|
b******s 发帖数: 589 | 26 这为什么上首页了。都是要死的技术了,java框架不行了,越出越烂,以前觉得挺牛,
现在来看都是故弄玄虚的成分太多,现在好技术太多,除了外行没人信java了,写来写
去还是pojo最好。就列出一个原因java ee就可以死,慢,java guy们还想继续编程只
能变js guy。 |
|
c*****e 发帖数: 3226 | 27 太在理了。
没错,就是 pojo。 ejb, j2ee 10年前卖卖嘴皮子还可以,现在实在没什么市场了。
那个该死的 hibernate 被人骂做 软件的越南战争。 |
|
b******s 发帖数: 589 | 28 Java本身很快,JVM的速度非常不错。说的是EE做的云里雾里,越做越差,JSF是近年来
最失败的技术,Hibernate就更别提了,他们共同的特点都是,效率低,维护难,强依
赖等等,当然也有其他少许模块可取。
用pojo快,效率还可以接受 |
|
a*f 发帖数: 1790 | 29 源码直接上到github就可以看了
activeX感觉主要靠内嵌对象接口来调用,比较复杂而且不容易统一,不像 Java Bean
基本都是POJO对象注入简单容易形成规范。而且DDL的接口层只有import和export
table,不像Java把class的definition table都放在对象里面可以用reflection class
去调用和修改当前对象。 |
|
g*****g 发帖数: 34805 | 30 没有通用的方法,常见的做法是listen to event, 程序产生pojo, map成 json |
|
z*******3 发帖数: 13709 | 31
beans没有标准,所有的java文件都是beans
只不过换个名字而已,所以spring说pojo
plain ordinary java object
意思就是你不需要遵循标准,没有标准,没有接口没有抽象类需要你去impl
随便拿一个java文件,这就是bean
spring通过xml和annotation来管理这些bean
所以你原来java怎么写,以后还怎么写,只需要在xml和annotation上告诉spring就好了
所以spring是一种非侵入式的框架,不像ejb早期,需要你impl接口或者抽象类
这个侵入就比较强
serialisable是一个interface,marker interface啊
如果你不垮虚拟机调用的话,你不需要impl这个
如果你垮虚拟机调用bean的话,才需要额外把这个接口写上去
做个标注,这样虚拟机就知道你需要序列化这个bean |
|
z*******3 发帖数: 13709 | 32 这种不加任何限制的java文件就是pojo
而大多数framework, server都会添加某些限制
比如ejb,早期就需要impl很多接口,还不只一个,四五个
vert.x目前做到的也需要你impl AbstractVerticle这个抽象类
servlet也需要impl一个抽象类
否则beans就不是verticle,不是servlet
但是spring只需要在xml中标记一下,就可以了
这样你源代码基本上不动
测试时候就很方便,没有context,你不需要去设置什么东西就可以开始测试了
测试ejb烦死,需要app server,测试servlet也需要有tomcat之类的
test case通过之后,你就可以直接放入spring中去
改一下配置xml文件就好了,就不需要重新编译 |
|
z****e 发帖数: 54598 | 33 一般oop里面当func部分和实体部分分离之后
实体部分一般不会用interface,ejb用过,吃饱了撑着
entitybean,所以挂了,大多数时候都是pojo和set/get方法
只有func部分才需要interface,那这块跟fp就很接近了
func套的object只是一个name space而已了
所以fp和oop一个显著区别就是object或者class这个东西允许不允许存在
这个没啥好争论的,swift就有,clj就没有(除了java部分,这个没办法)
这个才是从语法上最大的差异,而不是故意混淆protocol和interface
看来hci的java基础不行啊,这10多年java都在写啥东西? |
|
g*****g 发帖数: 34805 | 34 If you are talking to backend using SOAP, WS clients like CXF should support
it. You can then using libraries like Jackson and convert the POJO to JSON.
Username/
2 |
|
z*******3 发帖数: 13709 | 35 java的下限是n
但是node这种单线程的下限就是1了
js等脚本根本就没有thread这个东西
上限的话是来多少个req就启动多少个threads
object建立和销毁所带来的开销以及跟req数量之间有一个取舍
需要平衡
一个req就启动一个thread显然太浪费了
反过来,一个thread去伺候所有的req,像node一样,显然也不够
所以要worker,这两个就是一个平衡点
但是一般event的thread pool里面theads的数量跟core数量绑定
然后worker的thread pool里面threads的数量就需要考量一下了
但是如无必要,也不要随便去tune
thread pool可以通过共享组件(这个现在都是pojo了)的func/method的方式
以达到一定的优化效果,这样就比immutable的fp并发效率高了
再不够的话,也还是不建议自己动手tune了,建议直接加内存了
因为具体到每一个object的开销的计算,那就非常繁琐了,不值得投入这么多
over. |
|
q*c 发帖数: 9453 | 36 看系统。 我们当年系统每个涉及 db 的服务都专门一个模块,负责 db 和 pojo 之间
的转换,就是一堆 getter/seter 加上 prepared statement. 换 db 没啥特别难的。 |
|
n*****3 发帖数: 1584 | 37 现在很多公司在做 Python 编译to jvm 的project,
开发用Python, expo to pojo ,
这样 deployment也很简单
谢谢大牛分享, 再接再厉 |
|
h*****4 发帖数: 4219 | 38 现在公司里用来向Hadoop写入的框架是13年搭建的,有很多限制,比如要把JSON转成
POJO再用FileSystem写入,麻烦太多。
现在我重新搞了下,可以直接把JSON用FileSystem写入。不过如果AVRO里面定义了type
是union的话就会报错说数据定义不匹配。比如{"name":"age", "type":[null, "int"]
, "default":null} 这样的话{"age":12}, {"age":null} 都报错。
现在想问两个问题:
1. 有没有业界流行的框架能直接把JSON写入到Hadoop,就不用走FileSystem那一套?
2. 如果没有很好的框架,继续用FileSystem写,有没有办法处理union的问题?
谢谢大家! |
|