java常用的设计模式一共有多少种?他们分别的用途是什么?

tk1984 2005-07-15 01:57:28
谢谢!
...全文
3749 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
saiche05 2006-05-09
  • 打赏
  • 举报
回复
GOF的23种设计模式
seu_cose 2006-05-01
  • 打赏
  • 举报
回复
这个问题好大...
lxwin01 2006-05-01
  • 打赏
  • 举报
回复
引用上面的话“模式就是前人经过大量的实践,总结出来的”光知道,理解还不行。要学会着实践应用,有些模式是可以变化的,还有就是不能为模式而模式,在学习设计模式过程中可以先了解常用模式,找些开源的项目进行分析,这是最有效的。
rgwfeng2 2006-04-30
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
JAVA設計的原則:
開閉原則:對擴展開放,對修改關閉
里氏代換原則:任何基類可以出現的地方,子類一定可以出現
依赖倒轉原則:依賴於抽象,不要依賴於實現
接口隔離原則:為客戶端提供盡可能小的單獨接口,不要提供大的總接口
合成/聚合復用原則:盡量使用合成,聚合,而不是繼承關係達到復用目的
迪米特法則:一個軟件實体應該盡可能少的與其他實体發生相互作用

一般來說,23种種經典設計模式里面基本都遵循上述設計原則
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.調停者

模式的應用需要在具體設計時體會的吧,如果強行使用反而會弄巧成拙的吧

J2EE設計模式
一般來說分為表現層模式,業務層模式,集成層模式
表現層模式分為
1.攔截過濾器
2.前端控制器
3.應用控制器
4.Context對象
5.復合視圖
6.視圖助手
7.分配器視圖
8.服務到工作者
表現層設計考慮:
1.在客戶端保存會話狀態
2.在表現層保存會話狀態
3.在業務層保存會話狀態
4.控制客戶端訪問
5.重復表單提交
6.助手類屬性
表現層重構:
1.對客戶端隱藏資源
2.同步器令牌
3.對業務層隱藏表現細節
4.分離數據訪問代碼

業務層模式:
1.業務代表
2.服務定位器
3.傳輸對象
4.會話門面
5.應用服務
6.復合實体
7.傳輸對象駔裝器
8.值列表處理器
業務層設計考慮:
1.有狀態VS.無狀態
2.實体BEAN中的業務邏輯
業務層重構:
1.用SESSION BEAN包裝ENTITY BEAN
2.引入業務代表
3.業務邏輯移至SESSION BEAN
4.合併SESSION BEAN
5.減少ENTITY BEAN間通信
6.分離數據訪問代碼

集成層模式:
1.數據訪問對像
2.服務激活器
3.業務領域存儲
4.WEB SERVICE中轉

小粘人 2005-11-06
  • 打赏
  • 举报
回复
友情顶下
dssaaa 2005-11-04
  • 打赏
  • 举报
回复
学java什么都要学,做软件更是
chen_fu 2005-11-04
  • 打赏
  • 举报
回复
晕,我就知道学习Java的重点不是语法,而是架构思想,这末多?都要学吗?
JudgeArm 2005-10-01
  • 打赏
  • 举报
回复
mark
bohemia 2005-10-01
  • 打赏
  • 举报
回复
模式是对应用开发的更高层次的抽象。要很好的应用模式的话,必须结合实际开发经验。然后仔细体会,不断琢磨。相信,收获会越来越多的。
tianshuifeixiang 2005-10-01
  • 打赏
  • 举报
回复
MARK
Free_Windy 2005-09-30
  • 打赏
  • 举报
回复
好一句"你要做到手中无模式,心中也无模式。 那样你就可以称为高手了
"
lyb_abiandbel 2005-09-29
  • 打赏
  • 举报
回复
学习
truezerg 2005-09-29
  • 打赏
  • 举报
回复
你要做到手中无模式,心中也无模式。 那样你就可以称为高手了
Marshal402 2005-09-20
  • 打赏
  • 举报
回复
推荐一本书《J2EE核心模式》,看了感觉不错,比GoF的23个模式更贴近J2EE的开发实践。
omtf 2005-09-20
  • 打赏
  • 举报
回复
MVC准确来讲不是模式,而是一种架构,它包含了几种模式
xiaoci0308 2005-09-12
  • 打赏
  • 举报
回复
23种,看看 四人帮 的资料啊。。。。
dlxu 2005-09-12
  • 打赏
  • 举报
回复
Java中常用的是GOF的23种设计模式,在J2EE中,J2EE设计模式很多的,我稍微列一下J2EE的常用设计模式吧,做EJB开发必须掌握的.

拦截过滤器模式(Intercepting Filter)
前端控制器模式(Front Controller)
上下文环境对象模式(Context Object)
应用控制器模式(Application Controller)
视图助手模式(View Helper)
复合视图模式(Composite View)
服务到工作者模式(Service to Worker)
分配器视图模式(Dispatcher View)
业务代表模式(Business Delegate)
服务定位器模式(Service Locator)
会话门面模式(Session Facade)
应用服务模式(Application Service)
业务对象模式(Business Object)
复合实体模式(Composite Entity)
传输对象模式(Transfer Object)
传输对象组装器模式(Transfer Object Assembler)
值列表处理器模式(Value List Handler)
数据访问对象模式(Data Access Object)
服务激活器模式(Service Activator)
业务领域储存模式(Domain Store)
Web Service中转模式(Web Service Broker)
uncleAndyChen 2005-09-08
  • 打赏
  • 举报
回复
顶先
wangyuqin 2005-09-05
  • 打赏
  • 举报
回复
我最常用中间者模式,非常方便开发
加载更多回复(12)

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧