页面显示用模板编程,如FreeMarker
你的感觉不对,你经理的也不对。

解决方案 »

  1.   

    首先,不要急于否定你经理的方案就是没有用设计模式。我倒觉得,楼主看起来处于:手中有模式,心中无模式 状态;(海涵海涵~~~)。软件设计有时候还要考虑 规模化开发、测试和运维成本,比如:如果项目需要用你的程序实现100个不同维度、角度、方式展现的统计分析图,而且还要相互之间能跳转来跳转去(切片、钻取、关联查询等):
    ◎ 你有把握能找10个只会写写JSP的中专生,经过2天培训,就完成这些开发么?还是必须找些精通设计模式的本科程序猿来做这些事情?
    ◎ 规模化开发过程中,能让需求或测试人员随时看到这些页面的开发效果么?还是需要打包发布?或者是什么动态部署啥的?
    ◎ 将来系统在天南地北的上线了,如果需要做不同层面的修改,有哪些是需要原设计者去现场?还是可以让现场领着2K薪水的运维人员在你电子邮件或远程指导下就能完成的?
    也许你的设计都达到了上述目标,那么我觉得这个设计是不错的,你也可以去跟你经理据理力争;如果不是,就反过来想想你经理提出的方案,能不能解决上述问题?预祝楼主达成:手中无模式,心中也无模式的境界。
      

  2.   

    我强烈忠告,你的经理的看法是对的。至于上属下属的问题,那是另一回事并且两个人没有根本冲突。
    不要把设计模式看得那么深,并不是那些不常见的才是设计模式,MVC就是设计模式的一种。
    首先是架构,然后才是设计模式。界面在项目正式发布以后,还可能会改版。既然你的那些图是更属于显示环节,那就不要与数据、事务模型设计到一起。(你可以在数据、事务模型中尽情地使用设计模式)
    至于代码冗余,代码的结构比没有冗余更重要。合理的冗余是正常的,没有任何问题。
      

  3.   

    补充:你经理的方案其实也是设计模式:MVC。
      

  4.   

    个人认为jfreechart不是太好 缺乏动态效果 项目经理说用jsp,说白了也是后台。
    不过写在jsp代码规范不是太好感觉乱乱的
      

  5.   

    谢谢楼上各位的劝导后来又和经理沟通了一下,有的地方我理解错了,他意思是包括数据的筛选什么都放在JSP里边,他跟我说对于分析图来讲,界面和数据变化可能性都很大,所以设计模式不适合这里哎。
      

  6.   

    可以从jsp再分离出来,但不要与数据弄到一起。
      

  7.   

    我个人也认为,后台只要负责处理并返回前端展示所需要的数据就好了。楼主现在的设计是假定在 jfreechart 上了,我们可以试想一下,如果 jfreechart 生成的图片给前端显示的技术用不上了,我们使用诸如 SVG 的图表库的话,那一些 jfreechart 的代码就抓虾了!就算现在需要使用 jfreechart 的话,在设计上也应做到数据和图形分离,哪怕以后不用 jfreechart 了,那至少数据那块还以继续使用。经常面试一些人,现在普遍存在一种这样的问题,一问起架构的话,很多人都会回答 SSH,我说,SSH 只是开发框架,是你架构的实现方式,而其本身并不是架构。
      

  8.   

    数据的话,建议使用前端、后端都较为友好的 JSON 吧。
      

  9.   

    我个人觉得如果业务数据不是很复杂不需要什么设计模式,尽量减少jsp的业务代码也是web开发必须关注的,我们现在遇到图标的时候都是在后端只要筛选处理之后返回给前端一串json的,然后放到前台交给js进行处理,处理速度快,也避免了jsp代码的混乱
      

  10.   

    我也觉得你经理是对的,现在的web项目后台就是查找或生成数据传给前台。至于图片生成页面渲染之类的给前台js处理就好啦。减轻了后台压力,更利于修改发布。
      

  11.   

    下次coding前记得把你的方案和经理讨论下。我每次都这么干的,因为你的问题我也碰到过两次啊。
      

  12.   

    我也补充一下,其实我压根觉得设计模式就是个平民化的东西,他妈我们天天用的东西不就是设计模式吗,像MVC,工厂模式之类的,别以为设计模式高深,看起来很有层次,就是一个人人天天都在用的东西,再说你设计模式也要放对地方呀...不然反而乱了...
      

  13.   

    看来我还是太水了。。请问,把JSON字符串交给前台JS代码,JS代码怎么把解析内容交给jfreechart啊?能说点细节问题么,知道你们都很牛,说的太泛泛不太懂。jfreechart需要调用ChartFactory,并传给他dataset对象,前端代码怎么写能调用java代码???还有我原来的设计是分析图是个<img>的标签,里边src属性是一个action,走STRUTS,传个状态值,后台业务层用设计模式直接返回一个jfreechart对象,然后返回到action,然后struts就把jfreechart对象返回给哪个<img>标签就成图片了
      

  14.   

    晕鸟。。你们说的不是用的jfreechart了吧。。应该是用的别的控件了吧
      

  15.   

    前台图像报表换成highcharts或者echarts,数据在后台拼装成json,前台可以随时修改图像报表的样式。岂不比jfreechart更好。话说现在竟然还有有用jfreechart,表示很诧异!