已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TheFacadePattern门面模式 子系统及其的客户端 通常 设计师在处理复杂系统时的一个常用方法是 分而治之 但这样做的结果是一个系统或子系统中会有很多的类 使用这个子系统的客户端虽然只关注某些特定的功能 但却需要跟子系统内部的许多对象打交道才能达到目的 这使得客户端的逻辑变得不必要的复杂 维护成本提高 复用率降低 现实生活中的例子 医院 挂号 门诊 划价 化验 收费 取药等是这个子系统的中的各个类 用户看一个病需要与这些 类 打交道 非常不容易 解决办法 设立接待员 由接待员代办挂号 划价 缴费 取药等 病人只接触接待员 什么是门面模式 门面模式为子系统提供一个统一的高层接口 供外部客户使用 门面模式提供了一个更高层次的接口 使得子系统更容易使用 门面模式的结构 Facade Client2 Client1 Client3 subsystem 门面模式的实现 定义一个 或多个 具备所需接口的新类 门面类 新类 门面类 使用原有的系统 客户使用门面类对象与原系统打交道 门面模式的变体 典型的门面模式强调不应该引入新的功能 门面模式的变体可以适当引入新的功能 补充系统的原有功能 什么时候使用门面模式 客户只需要使用某个复杂系统的子集 或者需要以一种特殊的方式与系统交互时 使用门面模式 当需要跟踪系统的使用情况时 使用门面模式 因为所有对系统的访问都通过Facade 所以可以很容易的监视系统的使用 希望封装或者隐藏原系统时 编写新类的成本小于所有人学会使用或维护原系统所需的成本时 迪米特法则 只与你直接的朋友们通信 迪米特法则要求一个对象的相互作用是短程的 朋友的数目越少越好 其实质是减少耦合度 门面模式符合迪米特法则 讨论 在什么情况下应该编写一个新系统而不是用Facade封装老系统 一个例子 保安系统 一个保安系统由两个录像机 三个电灯 一个遥感器和一个报警器组成 保安系统的操作人员经常要将这些仪器启动和关闭 一个例子 保安系统 不使用门面模式的情况下 操作员必须直接操作所有仪器 使用门面模式的保安系统 准备一个系统的控制台 作为保安系统的用户界面 门面 操作员通过操作这个简化的界面就可以控制所有的仪器 请同学分小组设计方案 写出java源代码 课内练习 家庭影院中有CD机 DVD机 收音机Turner 录影机Recorder 功放Amplifier 升降屏幕Screen等 请为家庭影院系统设计一个请设计一个门面 通过它可以方便的操作其他设备放电影等 编写一个测试主类 测试你的程序 实战演练 JDBC访问数据库需要用到一些相关的类和接口 主要有数据库的jdbc驱动程序 DriverManager Connection Statement ResultSet SQLException等 为了将这些复杂的细节与数据库应用程序的设计者隔离开 请设计一个JDBCFacade类 该类提供jdbcOpen jdbcSelect jdbcUpdate jdbcInsert jdbcDelete jdbcClose 等方法 数据库应用程序的开发者直接使用JDBCFacade类提供的方法就可以实现查询 修改 追加 删除记录等操作 注 jdbcSelect 方法返回的类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025春人教版七下Unit 8 Once upon a time(一般过去时)语法讲讲解
- 2025广西两学考试真题及答案
- 幼儿园大班端午节模板教案
- 幼儿园中班社会活动教案有卡走天下含反思(2025-2026学年)
- 冀教版小学语文上册爬山虎的脚教案(2025-2026学年)
- 运输事故的预防处理教案
- 初中数学七年级下册第一章整式的乘除平方差公式教案
- 成教生物氧化省公共课全国赛课教案
- 《盘古开天地》集锦教案
- 高一化学大全沪教版教案
- 2025年大学《经济学-政治经济学》考试备考试题及答案解析
- 妇产科妊娠合并子宫肌瘤护理教程
- 2025甘肃白银靖远县北滩镇选聘专业化管理村文书2人考试笔试备考试题及答案解析
- 2025年公司财务总监年终总结(五篇)
- 水厂建设项目施工方案
- 2025湖北随州国有资本投资运营集团有限公司拟聘用人员笔试历年备考题库附带答案详解2卷
- 非洲猪瘟安全培训课件
- 2025陕西延长石油榆林煤化有限公司招聘120人笔试历年难易错考点试卷带答案解析试卷2套
- 2026中国人民大学管理职员和教师以外专业技术人员招聘考试笔试参考题库附答案解析
- 2025北京海淀高三上学期期中化学试卷和答案
- 幼小衔接阶段教育衔接策略与效果评价
评论
0/150
提交评论