社区
Java SE
帖子详情
关于facade模式
zhongyj2004
2010-03-09 09:07:36
tomcat里的StandardSession类实现了HttpSession接口。
定义了另外一个类StandardSessionFacade,把HttpSession作为一个成员变量,使用了facade模式。
为什么要多这么一步,让StandardSession只把HttpSession接口中函数设置为public不就可以了吗。
...全文
242
4
打赏
收藏
关于facade模式
tomcat里的StandardSession类实现了HttpSession接口。 定义了另外一个类StandardSessionFacade,把HttpSession作为一个成员变量,使用了facade模式。 为什么要多这么一步,让StandardSession只把HttpSession接口中函数设置为public不就可以了吗。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2010-03-09
打赏
举报
回复
tomcat 中关于 HttpServletRequest 和 HttpSession 最终的实现,有很多的委托层次,逐层嵌套,看似每个方法只有几行代码,但是却能完成复杂的功能,这也是面向对象的特点。这些代码上的设计是很值得我们去学习、研究的。
火龙果被占用了
2010-03-09
打赏
举报
回复
StandardSessionFacade 是 tomcat 中 HttpSession 对外服务的门面,只通过一个类对外进行服务,而其内部只是采用委托的方式调用其他对象的方法,这种就是门面。
门面一般会带给我们这样一个好处,让系统对外只有一个接口,这个接口起着核心要道的作用。客户端只需要跟这个门面打交道就可以了,不需要了解更多的信息。
applerockhool
2010-03-09
打赏
举报
回复
支持楼上的~~
-
chinesealbert
2010-03-09
打赏
举报
回复
如果让StandardSession只把HttpSession接口中函数设置为public当然可以
但是HttpSession太复杂,提供的接口对不需要详细调用HttpSession的用户太耗费时间去学习这个类
因此使用StandardSessionFacade来承接对HttpSession的调用,并提供一个简单的接口,和乐而不为?
Facade
模式
Facade
模式
Facade
模式
要求一个子系统的外部与其内部的通信必须通过一个统一的
Facade
对象进行。
Facade
模式
提供一个高层次的接口,使得子系统更易于使用。 就如同医院的接待员一样,
Facade
模式
的
Facade
类将客户端与子系统的内部复杂性分隔开,使得客户端只需要与
Facade
对象打交道,而不需要与子系统内部的很多对象打交道。 观察者
模式
的结构
Facade
的几个要点 从客户程序的角度来看,
Facade
模式
不仅简化了整个组件系统的接口,同时对于组件内部与外部客户程序来说,从某种程度上也达
Facade
模式
的介绍
Facade
模式
http://www.diybl.com/ 2007-12-22 网络 点击:157 [ 评论 ]--文章搜索: 【点击打包该文章】 【本站开通在线QQ讨论群】 第一次看设计
模式
,挺有意思参考两本书,设计
模式
精解和设计
模式
精解-GoF 23 种设计
模式
解析附 C++实现源码
FACADE
模式
,正面
模式
?他之所以这么命名,是因为他在原系统之前放了一个新
Facade
模式
Facade
模式
使用
Facade
模式
可以为互相关联在一起的错综复杂的类整理出高层接口(API)。其中的
Facade
角色可以让系统对外只有一个简单的接口(API)。而且,
Facade
角色还会考虑系统内部各个类之间的责任关系和依赖关系,按照正确的顺序调用各个类。 示例程序 示例程序类图 Database mport java.io.FileInputStream; import java.io....
Adapter
模式
与
Facade
模式
的比较
Adapter是需要满足一个已经存在于新系统设计中的接口。而
Facade
不必遵守这一点。Adapter提供的接口可以是 既存系统暴露的接口的子集,当然,也可以是超集。而
Facade
提供的接口,一定是既存系统的一个子集。换句话说,Adapter
模式
提供的接口上的功能,可能是既存系统中不存在的,而
Facade
模式
提供的接口上的功能,一定是既存系统中存在的。下面是一个Adapter
模式
的范例代码priv
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章