摘要:
3.1 总体变化 MVC框架最主要的两个功能是页面参数与Action Model的转换 和 页面流转控制,我们考察框架时也多从这两点入手。 Struts2模式上的变动: 一、Action 从singleton bean 改为了per request的prototype bean。之前Struts1为了线程安全,action里面没有任何成员变量,在一个处理函数里输入输出都靠request,response参数搞定。 二、将很多处理透明的分解到了Interceptor Chain中, 因此,Struts2中Action在MVC里的位置,从Controller转为了Model(有属性、有行为且不依赖 阅读全文
2011年1月19日
摘要:
按顺序从懒到积极的四种策略。Lazy:一般人好像只会用这种策略。查询一批Order,只返回Order实例,当访问某个Order的items时,查询某个Order的Items。这种策略会产生著名的N+1查询,比如查询所有Order,再查询它们的Items时,会为每个Order的Items发出一条查询语句。(注意,只查一条Order,然后遍历它的所有item不会N+1)Batch:查询一批Order,只返回Order实例,当访问某个Order的items时,批量查询一定数量Order的Items(如10个Order)。如果需要遍历所有Order的Items,需要N/10+1条语句。当然采用这种模式 阅读全文