一畝三分地
BlogJava
首頁
新文章
新隨筆
聚合
管理
posts - 78, comments - 48, trackbacks - 0
【原】Good disign , good code !
下面的代碼表現出使用set 帶來的好處。
??1
public
?
class
?TaskTemplate?
{
??2
????
private
?String?id;
??3
????
private
?String?title;
??4
????
private
?String?detail;
??5
????
??6
????
private
?Set
<
TaskTemplate
>
?preconditions;
??7
????
private
?Set
<
TaskTemplate
>
?subTasks;
??8
????
??9
????
//
?Temporary?used?for?create?task.?don't?persistent.
?10
????
?11
????
private
?Task?createdTask;?
?12
????
public
?String?getDetail()?
{
?13
????????
return
?detail;
?14
????}
?15
????
public
?
void
?setDetail(String?detail)?
{
?16
????????
this
.detail?
=
?detail;
?17
????}
?18
????
public
?String?getId()?
{
?19
????????
return
?id;
?20
????}
?21
????
public
?
void
?setId(String?id)?
{
?22
????????
this
.id?
=
?id;
?23
????}
?24
????
public
?Set
<
TaskTemplate
>
?getPreconditions()?
{
?25
????????
if
?(preconditions?
==
?
null
)?
{
?26
????????????preconditions?
=
?
new
?HashSet
<
TaskTemplate
>
?();
?27
????????}
?28
????????
return
?preconditions;
?29
????}
?30
????
public
?
void
?setPreconditions(Set
<
TaskTemplate
>
?preconditions)?
{
?31
????????
this
.preconditions?
=
?preconditions;
?32
????}
?33
????
public
?Set
<
TaskTemplate
>
?getSubTasks()?
{
?34
????????
if
?(subTasks?
==
?
null
)?
?35
????????????subTasks?
=
?
new
?HashSet
<
TaskTemplate
>
();
?36
????????
return
?subTasks;
?37
????}
?38
????
public
?
void
?setSubTasks(Set
<
TaskTemplate
>
?subTasks)?
{
?39
????????
this
.subTasks?
=
?subTasks;
?40
????}
?41
????
public
?String?getTitle()?
{
?42
????????
return
?title;
?43
????}
?44
????
public
?
void
?setTitle(String?title)?
{
?45
????????
this
.title?
=
?title;
?46
????}
?47
????
?48
????
public
?Task?getCreatedTask()?
{
?49
????????
return
?createdTask;
?50
????}
?51
?52
????
/**?*/
/**
?53
?????*?
@param
?subTemplate
?54
?????
*/
?55
????
public
?
void
?addSubTaskTemplate(TaskTemplate?subTemplate)?
{
?56
????????getSubTasks().add?(subTemplate);
?57
????????
?58
????}
?59
????
?60
????
/**?*/
/**
?61
?????*?
@param
?subTemplate
?62
?????
*/
?63
????
public
?
void
?addPrecondition(TaskTemplate?subTemplate)?
{
?64
????????getPreconditions().add?(subTemplate);
?65
????}
?66
????
?67
????
/**?*/
/**
?68
?????*?
?69
?????
*/
?70
????
private
?
void
?fillPreconitionAfterCreateTask()?
{
?71
????????
if
?(createdTask?
==
?
null
)
?72
????????????
return
;
?73
????????
?74
????????
for
?(TaskTemplate?template?:?getPreconditions?())?
{
?75
????????????createdTask.addPrecondition?(template.getCreatedTask?());
?76
????????}
?77
????????
?78
????????
for
?(TaskTemplate?subTemplate?:?getSubTasks?())?
{
?79
????????????subTemplate.fillPreconitionAfterCreateTask();
?80
????????}
?81
????}
?82
????
?83
????
/**?*/
/**
?84
?????*?
@return
?85
?????
*/
?86
????
private
?Task?createTask()?
{
?87
????????Task?task?
=
?
new
?Task?();
?88
????????task.setTitle(title);
?89
????????task.setDetail?(detail);
?90
????????
for
?(TaskTemplate?subTaskTemplate:?getSubTasks?())?
{
?91
????????????task.addSubTask?(subTaskTemplate.createTask());
?92
????????}
?93
????????createdTask?
=
?task;
?94
????????
return
?task;
?95
????}
?96
????
?97
????
/**?*/
/**
?98
?????*?
@param
?template
?99
?????*?
@return
100
?????*?This?method?should?be?in?TaskServiceImpl,?the?complete?implementation?should?be?
101
?????*?public?Task?createTaskFromTemplate?(String?templateId)?{
102
?????*??????TaskTemplate?template?=?(TaskTemplate)?findByPrimaryKey?(templateId,?TaskTemplate.class);
103
?????*??????Task?task?=?template.createTask?();
104
?????*??????template.fillPreconditionAfterCreateTask();
105
?????*??????insert?(task);
106
?????*??????return?task;
107
?????*?}
108
?????*?
109
?????
*/
110
????
public
?
static
?Task?createTaskFromTemplate(TaskTemplate?template)?
{
111
????????Task?task?
=
?template.createTask?();
112
????????template.fillPreconitionAfterCreateTask?();
113
????????
return
?task;
114
????}
115
116
117
}
posted on 2006-12-01 10:25
黑咖啡
閱讀(369)
評論(0)
編輯
收藏
所屬分類:
Coding Review
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
【原】Good disign , good code !
【原】由代碼看編程思想
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
(67)
C Sharp
Coding Life(22)
Coding Review(2)
Dog Show(2)
Dot Net
Hibernate
Java Dev(12)
Problems(1)
Ruby(5)
Struts
Tec Article(20)
Travel Note(1)
Unix/Linux(2)
文章分類
(43)
Design(12)
Eclipse plugins(2)
FrameWork(5)
Hibernate(3)
Java news(1)
Postgre(2)
tec(13)
Velocity(5)
Good Article
Eclipse 和 HSQLDB(一)
Eclipse 和 HSQLDB(二)
HSQLCC Project by SawPad
HSQLDB中文文檔-SawPad
iDay's ajax framework
Java新手上路大全
Unicode
Good Blogs
Birdgu-javaeye
dlee
eamoi之Coder日志
FrankGu
GHawk
IBM開發者圈子
JPOBLOG
robbin的口水
華山論劍
嘟嘟老窩
屋頂上的木帷幕
草惜草
野馬
飛揚
Open Source
EasyJF
最新隨筆
1.?個人網站啟用www.agows.cn
2.?訂釘
3.?I will be with you
4.?袁天罡稱骨歌 評定百年之貴賤
5.?Everybody needs somebody
6.?旅游板塊開篇
7.?我們的留學生活在日本的日子 感動華人世界的影片
8.?BEA首屆原創文章獲獎作品導讀
9.?白了少年頭,空悲切!
10.?谷歌=山歌?
11.?【摘】Subversion第三方工具
12.?
About thinking in java
13.?My first bussiness letter in english
14.?遭遇“AV終結者”
15.?javascript控制關鍵字高亮顯示
16.?LOVE PSYCHEDELICO
17.?博客價值評估
18.?Yesterday Once More
19.?局域網管理工具
20.?艾爾頓·約翰
21.?今日關注
22.?Java 專業人士必備的書籍和網站列表
23.?Agile web development with Rails 源代碼
24.?fedora core 6 中加載ntfs和fat32分區
25.?windows xp 下面用grub引導安裝fedora core 6
26.?rails更換版本
27.?MySQL提示Access denied for user 'ODBC'@'localhost'錯誤解決方法
28.?使用Eclipse安裝RadRails失敗后......
29.?【摘】配置RadRails
30.?五一歸來,網站崩潰(sohu,tom,sina)
31.?【摘】如何挑選松獅幼犬
32.?開源Java版BBS,Blog
33.?native2ascii用法解析
34.?最新關注
35.?寫點感悟
36.?Linux 介紹
37.?2007新年新計劃
38.?【摘】敏捷軟件開發圖書概覽
39.?【摘】java中讀取資源文件
40.?【摘】MIME大全
最新評論
1.?re: 困擾多時的Iframe自適應高度終于解決了[未登錄]
評論內容較長,點擊標題查看
--asa
2.?re: Hibernate Validator
這個用了,第一次預熱會消耗性能73毫秒左右!
--datong
3.?re: 困擾多時的Iframe自適應高度終于解決了
這游戲變態
--陳建友
4.?re: Java中獲取時間的幾種方法
非常詳細,明白,謝謝!
--g
5.?re: 困擾多時的Iframe自適應高度終于解決了
編譯出現 CS1026: ) expected
為什么?
--tianjing
閱讀排行榜
1.?困擾多時的Iframe自適應高度終于解決了(39321)
2.?Java中獲取時間的幾種方法(18879)
3.?MySQL提示Access denied for user 'ODBC'@'localhost'錯誤解決方法(11026)
4.?native2ascii用法解析(7885)
5.?袁天罡稱骨歌 評定百年之貴賤(6117)
評論排行榜
1.?困擾多時的Iframe自適應高度終于解決了(13)
2.?博客價值評估(8)
3.?Agile web development with Rails 源代碼 (5)
4.?javascript控制關鍵字高亮顯示(3)
5.?LOVE PSYCHEDELICO(1)
Copyright ©2025 黑咖啡 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
盈江县
|
河北省
|
兴和县
|
罗田县
|
大荔县
|
彭山县
|
池州市
|
丰都县
|
南平市
|
绥德县
|
逊克县
|
吉木萨尔县
|
香格里拉县
|
乐安县
|
类乌齐县
|
孙吴县
|
蛟河市
|
始兴县
|
日照市
|
石阡县
|
个旧市
|
延安市
|
布尔津县
|
平定县
|
怀仁县
|
灵寿县
|
五指山市
|
惠州市
|
鹿泉市
|
合阳县
|
章丘市
|
横山县
|
利辛县
|
仁怀市
|
泽州县
|
旬邑县
|
临城县
|
炎陵县
|
平泉县
|
宿松县
|
汕尾市
|