惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
S
Securelist
MyScale Blog
MyScale Blog
Jina AI
Jina AI
罗磊的独立博客
The Cloudflare Blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
雷峰网
雷峰网
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
博客园 - 聂微东
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
T
Tailwind CSS Blog
Attack and Defense Labs
Attack and Defense Labs
博客园_首页
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Hacker News
The Hacker News
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
U
Unit 42
D
Docker
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
T
Tor Project blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
B
Blog
Recent Announcements
Recent Announcements
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
V2EX - 技术
V2EX - 技术
N
News | PayPal Newsroom
Microsoft Security Blog
Microsoft Security Blog

博客园 - 灵石

精神空虚时想到的 学习程序开发的方法,仅供参考吧 代码实现JSF组件树的创建与呈现 WAS应用系列:WAS6 自定义用户注册接口代码 + 企业应用安全角色配置 + WAS安全配置 实现统一灵活的集成授权 5月以来的学习,软件工程+设计模式+J2EE开发+portal开发,以及SOA技术 跨越3个层面的学习进展,.net事件驱动编程/.net模型驱动编程/J2EE模型驱动Struts架构编程 together 2005 for VS.NET bug 汇总 五一假期学习目标 读博友的一篇《陈安之成功法则》后的感想 困惑?UML的缺陷? UML学习随笔20060427 UML学习随笔20060420 回来了,很久很久没来了 进一步的研究微软的报表服务 微软报表服务ReportServices的安装 在微软报表服务中,使用odbc连接Sybase数据库,无法使用参数查询的问题我找到办法了 我在寻找.net的 oledb for syabse 死微软, TM的报表服务中如果用odbc联接,不支持查询参数 微软的ReportServise
系统架构:J2EE中我使用SDO与JSF后的分层架构体系
灵石 · 2006-09-05 · via 博客园 - 灵石

在j2ee中,引入JSF,SDO等新技术后,对分层的发展

=======数据层===================================================================

1、静态结构层:一些XML文件,标准的是一个表一个XML结构文件,还有一些多表联合的XML结构文件(这根据具体应用要求)

2、SDO工厂层:实现调用“XML数据结构文件”和“数据库连接”生成SDO的数据图与数据对象的通用方法(其实就是SDO数据对象创建类)

3、SDO数据对象层:对应静态XML数据结构文件的一个个表对象,每个表对象都提供静态实例获取的方法接口,返回一个SDO数据对象实例

数据层内的MVC:
               M模型:静态结构层
               V视图:SDO数据对象层 
               C控制: SDO工厂层

=======应用层===================================================================

应用层里没有任何SQL语句,以及直接的数据库操作。

1、产品层:建立实现需要的各种关系对象,如组合关系的一组菜单对象,一组用户对象,一组页面对象
在这一层里解决对象间的相互关系,并提供相应的方法,如菜单对象的呈现方法,页面对象的呈现方法,用户对象权限判断方法。在这一层里不写与数据层的访问。

2、工厂层:建立构建产品的工厂对象,实现对产品的结构化,产生产品实例,在这一层与数据层发生关系,常用的是获取数据,并用数据生产出产品。数据访问数据层的一个个SDO数据对象,通过DMS(数据介质服务)对这些对象进行操作。

3、页面层:每个JSP页面建立一个页面代码类(faces受管Bean,继承PageCodeBase(基本页面代码)类,在这一层里关联工厂与产品,在各个事件代码处,调用工厂产生产品,然后调用产品的各种方法。对于直接的数据展现与更新,组件与SDO数据对象邦定,直接使用SDO数据对象作为源。在这一层里做到所有方法都是调用工厂,产品对象,不单独处理逻辑,简单说就是在这里进行对象总调度,让我的对象配合起来完成最后的实现

应用层内的MVC:
               M模型:产品层
               V视图:页面层
               C控制:工厂层 

===============================================================================
我项目里对这种方法实现的模型图

1、数据层(已一个表[GROUPS]为例,项目中多个XML文件,多个表对象)

                                                            (图一:数据层细分样例)

2、应用层

                                                             (图二:应用逻辑层细分样例)

==============================================================================
最后,
越来越发现设计是一件很美妙的事,设计没有绝对的正确,从不同角度去分析对象,会得出不一样的结果,设计必须在不断的重构当中变得优秀。没有一层不变的东西,我要自己敢改变,能改变,并喜欢改变。