社区
Java
帖子详情
java常用的设计模式一共有多少种?他们分别的用途是什么?
tk1984
2005-07-15 01:57:28
谢谢!
...全文
3749
32
打赏
收藏
java常用的设计模式一共有多少种?他们分别的用途是什么?
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
saiche05
2006-05-09
打赏
举报
回复
GOF的23种设计模式
seu_cose
2006-05-01
打赏
举报
回复
这个问题好大...
lxwin01
2006-05-01
打赏
举报
回复
引用上面的话“模式就是前人经过大量的实践,总结出来的”光知道,理解还不行。要学会着实践应用,有些模式是可以变化的,还有就是不能为模式而模式,在学习设计模式过程中可以先了解常用模式,找些开源的项目进行分析,这是最有效的。
rgwfeng2
2006-04-30
打赏
举报
回复
mark
大龄码农2023版
2005-11-07
打赏
举报
回复
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)
java
经典面试题目-面经-
java
-
Java
语言的进阶概念-
常用
的库和框架-并发编程-网络编程-Web开发-面经
什么是
Java
中的面向对象编程(OOP)?列举OOP的原则。 什么是
Java
中的重载和重写?它们之间有什么区别? 什么是
Java
中的静态方法和实例方法?它们之间有什么区别?
Java
中如何实现字符串的连接? 什么是
Java
中的StringBuilder和StringBuffer?它们之间有什么区别? 什么是
Java
中的Lambda表达式?它的作用和使用场景是什么? 什么是
Java
中的函数式接口?列举一些常见的函数式接口。 什么是
Java
中的Stream API?它的作用和使用场景是什么?
Java
中的GC(垃圾回收)是什么?如何手动触发对象的垃圾回收? 什么是
Java
中的
设计模式
?列举一些常见的
设计模式
。 什么是
Java
中的单例模式?如何实现线程安全的单例模式? 什么是
Java
中的生命周期回调方法?列举一些常见的生命周期回调方法。 什么是
Java
中的注解处理器?如何自定义和使用注解处理器? 什么是
Java
中的并发编程?列举一些常见的并发类和工具。 什么是
Java
中的线程池?如何创建和使用线程池? 什么是
Java
中的Callable和Future接口?如何使
美团
Java
岗 154 道面试题.zip
97.请列举出在 JDK 中几个
常用
的
设计模式
? 98.什么是
设计模式
?你是否在你的代码里面使用过任何
设计模式
? 99.
Java
中什么叫单例
设计模式
?请用
Java
写出线程安全的单例模式 100.在
Java
中,什么叫观察者
设计模式
(observer design pattern)? 101.使用工厂模式最主要的好处是什么?在哪里使用? 102.举一个用
Java
实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次? 103.在
Java
中,为什么不允许从静态方法中访问非静态变量? 104.设计一个 ATM 机,请说出你的设计思路?
Java
后端+
Java
后端中级面试题
准备面试
Java
开发岗位?不要担心!我们为您准备了一份精心策划的
Java
面试题广告!无论您是初级开发者还是经验丰富的专家,这些问题将帮助您展示您的技能和知识。 什么是
Java
的垃圾回收机制,它是如何工作的? 请解释
Java
的面向对象编程思想,并提供一个简单的示例。
Java
中的四
种
访问修饰符是什么?它们的区别是什么? 什么是
Java
中的多态性?如何实现多态性? 请解释
Java
中的异常处理机制,并提供一个相关的示例。 什么是
Java
中的线程?如何创建和管理线程? 解释什么是
Java
的集合框架,并提供一些
常用
的集合类和它们的用法。 请解释
Java
中的反射机制,以及它的
用途
和局限性。 什么是
Java
的序列化和反序列化?为什么它们在分布式系统中很重要? 解释什么是
Java
的
设计模式
,并列举几个
常用
的
设计模式
及其应用场景。 这些题目涵盖了
Java
开发中的核心概念和常见问题,帮助您准备面试。祝您面试成功,取得理想的职位!
Java
大数据开发+
Java
大厂面试题
准备面试
Java
开发岗位?不要担心!我们为您准备了一份精心策划的
Java
面试题广告!无论您是初级开发者还是经验丰富的专家,这些问题将帮助您展示您的技能和知识。 什么是
Java
的垃圾回收机制,它是如何工作的? 请解释
Java
的面向对象编程思想,并提供一个简单的示例。
Java
中的四
种
访问修饰符是什么?它们的区别是什么? 什么是
Java
中的多态性?如何实现多态性? 请解释
Java
中的异常处理机制,并提供一个相关的示例。 什么是
Java
中的线程?如何创建和管理线程? 解释什么是
Java
的集合框架,并提供一些
常用
的集合类和它们的用法。 请解释
Java
中的反射机制,以及它的
用途
和局限性。 什么是
Java
的序列化和反序列化?为什么它们在分布式系统中很重要? 解释什么是
Java
的
设计模式
,并列举几个
常用
的
设计模式
及其应用场景。 这些题目涵盖了
Java
开发中的核心概念和常见问题,帮助您准备面试。祝您面试成功,取得理想的职位!
Java
面试题+
Java
后端中级面试题
准备面试
Java
开发岗位?不要担心!我们为您准备了一份精心策划的
Java
面试题广告!无论您是初级开发者还是经验丰富的专家,这些问题将帮助您展示您的技能和知识。 什么是
Java
的垃圾回收机制,它是如何工作的? 请解释
Java
的面向对象编程思想,并提供一个简单的示例。
Java
中的四
种
访问修饰符是什么?它们的区别是什么? 什么是
Java
中的多态性?如何实现多态性? 请解释
Java
中的异常处理机制,并提供一个相关的示例。 什么是
Java
中的线程?如何创建和管理线程? 解释什么是
Java
的集合框架,并提供一些
常用
的集合类和它们的用法。 请解释
Java
中的反射机制,以及它的
用途
和局限性。 什么是
Java
的序列化和反序列化?为什么它们在分布式系统中很重要? 解释什么是
Java
的
设计模式
,并列举几个
常用
的
设计模式
及其应用场景。 这些题目涵盖了
Java
开发中的核心概念和常见问题,帮助您准备面试。祝您面试成功,取得理想的职位!
Java
50,523
社区成员
85,601
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章