发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

一个报表项目中用到的模式

2005-01-01 12:18
赞助商链接

在做一个报表项目中,项目结束后,用设计模式的眼光来查看,看看用到了哪些模式:
单例模式SingleTon
在报表系统中用到了大量的配置信息,如果采用数据表的存储方式,则结构复杂,管理难度大,XML则是一个非常合适的表达方式。
而为了避免所有的线程访问时造成数据的丢失,因此采用了单例模式。
建造模式Builder
报表系统实际上就是在一个Sql语句的基础上生成的,那么为了构造这个Sql语句,需要不同的参数来形成。那么设置select, from,where,order by,group by等子句的过程,实际上就是Builder模式的应用了。
MVC模式
对于同一报表模型有多种表现形式,如:表格,图表,表格及图表,但是它们的参数都是相同的,只不过表现形式不同。在报表的设计过程,是由多个Step来完成的,整个完成采用了MVC结构,前台只有一个简单的Jsp面成就完成,利用统一C来进行控制,在所有的Step间进行移动直到保存完毕。
迭代子模式Iterator
这个应用非常多,在配置信息的管理过程中,存储时就采用了迭代子模式,这样,在保存时,只需要对根节点说保存一下即可,而不必在保存程序中编写迭代代码。
原始模型模式Prototype
这个在报表系统没有采用,而在MVC框架中,大量采用,深复制及浅复制都有应用。
冷藏及解冻
在MVC框架中,视图模型,可以方便地冷藏到XML文件中,当然也可以方便的解冻到内存对象中。
代理模式Proxy
在MVC框架中,因为提供了cache机制以提高系统访问效率:如果已经访问过并且应用了缓冲,那么从缓冲上直接取结果给浏览器,否则由类来提供。此处应用了代理模式。
待续...

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com