Dojo
最新
最佳
搜索
订阅
解道Jdon
领域驱动设计
架构设计
热点话题
GitHub开源免费源代码
产品经理
数据工程
微服务架构文章排行榜
go语言文章排行榜
DevOps文章排行榜
RUST语言
数据科学
幽默模因
更多话题
我写的项目架构,实在很困惑
10-05-27
shangtang004
项目采用B/S(浏览器/服务器)结构。项目基于Java开发,采用SSI框架(Struts 2+ Spring + Ibatis的组合框架模式),分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
其中,表现层除了采用传统的JSP和AJAX技术外,因本项目中有线路图形的功能要求,图形部分的功能实现采用Adobe Flex,属于RIA(富互联网应用)技术范畴。
中间层采用的是Spring+Ibatis,为了将控制层与业务逻辑层分离,又细分为以下几种:
Web层,就是
MVC模式
里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts2。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以
面向对象
方式操作数据库,该系统采用Ibatis作为ORM框架。
Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
spring到也不是业务层框架?
struts2是web层技术吗?
我认为web层应该是html,css,javascript.
spring是提供了系统的整体
架构
哟。
上面我自己看得很别钮
banq
2010-05-27 11:32
参考这篇文章:
解放思想,走出传统三层
架构
的束缚
shangtang004
2010-05-27 12:41
banq大哥,想让你看看我写的项目
架构
的 错误之处,
进出三层架构束缚,
我的理解是,领域对象是由一组互相协作的对象来完成的,这一组协作 的对象就是servie,po,dao,至于为什么分开,我想是结构上的清晰,便于维护。
还有那文章说得 领域对象要缓存,对象的状态有成千上万个,但行为同一类对象是一样的。这样缓存行吗?
猜你喜欢
其他人在看