常见SSH的架构设计策略一Word文档格式.docx
- 文档编号:6624110
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:22
- 大小:20.63KB
常见SSH的架构设计策略一Word文档格式.docx
《常见SSH的架构设计策略一Word文档格式.docx》由会员分享,可在线阅读,更多相关《常见SSH的架构设计策略一Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。
9.
//消息标题
10.
11.
String
title;
12.
13.
//消息内容
14.
15.
content;
16.
17.
//消息的发布时间
18.
19.
Date
postDate;
20.
21.
//消息的最后修改时间
22.
23.
lastModifyDate;
24.
25.
//消息所属分类
26.
27.
Category
category;
28.
29.
//消息对应的消息回复
30.
31.
Set
newsReviews;
32.
33.
//无参数的构造器
34.
35.
public
News()
{
36.
37.
}
38.
39.
//消息回复对应的getter方法
40.
41.
getNewsReviews()
42.
43.
return
44.
45.
46.
47.
//消息回复对应的setter方法
48.
49.
void
setNewsReviews(Set
newsReviews)
50.
51.
this.newsReviews
=
52.
53.
54.
55.
//消息分类对应的getter方法
56.
57.
getCategory()
58.
59.
60.
61.
62.
63.
//消息分类对应的setter方法
64.
65.
setCategory(Category
category)
66.
67.
this.category
68.
69.
70.
71.
//消息最后修改时间的getter方法
72.
73.
getLastModifyDate()
74.
75.
76.
77.
78.
79.
//消息最后修改时间的setter方法
80.
81.
setLastModifyDate(Date
lastModifyDate)
82.
83.
this.lastModifyDate
84.
85.
86.
87.
//消息发布时间的getter方法
88.
89.
getPostDate()
90.
91.
92.
93.
94.
95.
//消息发布时间的setter方法
96.
97.
setPostDate(Date
postDate)
98.
99.
this.postDate
100.
101.
102.
103.
//消息内容对应的getter方法
104.
105.
getContent()
106.
107.
108.
109.
110.
111.
//消息发布者对应的setter方法
112.
113.
setContent(String
content)
114.
115.
this.content
116.
117.
118.
119.
//消息主键对应的getter方法
120.
121.
getId()
122.
123.
124.
125.
126.
127.
//消息主键对应的setter方法
128.
129.
setId(Long
id)
130.
131.
this.id
132.
133.
134.
135.
//消息标题对应的getter方法
136.
137.
getTitle()
138.
139.
140.
141.
142.
143.
//消息标题对应的setter方法
144.
145.
setTitle(String
title)
146.
147.
this.title
148.
149.
150.
151.
//Domain
Object重写equals方法
152.
153.
boolean
equals(Object
object)
154.
155.
if
(!
(object
instanceof
News))
156.
157.
false;
158.
159.
160.
161.
rhs
(News)
object;
162.
163.
this.poster.equals(rhs.getPoster())
164.
165.
&
this.postDate.equals(rhs.getPostDate());
166.
167.
168.
169.
Object重写的hashCode方法
170.
171.
int
hashCode()
172.
173.
this.poster.hashCode()
+
this.postDate.hashCode();
174.
175.
176.
177.
Object重写toString方法
178.
179.
toString()
180.
181.
new
ToStringBuilder(this).append("
id"
this.id).append("
title"
182.
183.
this.title).append("
postDate"
this.postDate).append("
content"
184.
185.
this.content).append("
lastModifyDate"
this.lastModifyDate)
186.
187.
.append("
poster"
this.poster)
188.
189.
category"
this.category).append("
newsReviews"
190.
191.
this.newsReviews).toString();
192.
193.
194.
195.}
196.
第二个DomainObject是消息对应的回复,其代码如下:
NewsReview
BaseObject
//消息回复的主键
//消息回复的内容
//消息回复的回复时间
//回复的最后修改时间
//回复的对应的消息
news;
//消息回复的构造器
NewsReview()
//回复内容对应的getter方法
//回复内容对应的setter方法
//回复主键对应的setter方法
//回复的最后修改时间对应的getter方法
//回复的最后修改时间对应的setter方法
//回复对应的消息的getter方法
getNews()
//回复对应的消息的setter方法
setNews(News
news)
this.news
//回复发布时间的getter方法
//回复发布时间的setter方法
Object重写的equals方法
NewsReview))
(NewsReview)
this.poster.equals(rhs.getPoster())
125.this.postDate.equals(rhs.getPostDate());
/*return
EqualsBuilder().append(this.news,
rhs.news).append(
this.content,
rhs.content).append(this.postDate,
rhs.postDate)
.append(this.lastModifyDate,
rhs.lastModifyDate).append(
this.id,
rhs.id).append(this.poster,
rhs.poster)
.isEquals();
137.*/
Object对应的hashCode方法
HashCodeBuilder(-1152635115,
884310249).append(this.news)
.append(this.content).append(this.postDate).append(
this.lastModifyDate).append(this.id)
.append(this.poster).toHashCode();
155.*/
Object对应的toString方法
this.id).append(
"
this.lastModifyDate).append("
this.content).append(
this.poster).append("
news"
this.news).toString();
173.}
从上面贫血模式的DomainObject可看出,其类代码中只有setter和getter方法,这种DomainObject只是单纯的数据体,类似于C的数据结构。
虽然它的名字是DomainObject,却没有包含任何业务对象的相关方法。
MartinFowler认为,这是一种不健康的建模方式,DomainModel既然代表了业务对象,就应该包含相关的业务方法。
从语言的角度上来说,DomainModel在这里被映射为Java对象(一般都是ORM),Java对象应该是数据与动作的集合,贫血模型相当于抛弃了Java面向对象的性质。
RodJohnson和MartinFowler一致认为:
贫血的DomainObject实际上以数据结构代替了对象。
他们认为DomainObject应该是个完整的Java对象,既包含基本的数据,也包含了操作数据相应的业务逻辑方法。
下面是NewsDAOHibernate的源代码,该DAO对象用于操作News对象:
1.//NewsDAOHibernate继承HibernateDaoSupport,实现NewsDAO接口
3.public
NewsDAOHibernate
ext
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常见 SSH 架构 设计 策略