- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 软件设计原则的与模式
代理设计模式 适配器设计模式 适配器也叫做包装器(Wrapper),它把一个类的接口变换成客户端所期望的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类可以在正常通信。 适配器设计模式 适配器设计模式?CAD系统中的绘图编辑器代码 Shape接口的代码: public interface Shape { // Java语言不支持多重继承 // Shape是目标角色,采用接口形式 public void draw(); } TextViewer类的代码: public class TextViewer { // TextViewer是适配者类,即源角色 public void display() { System.out.println(显示文本信息); } } 适配器设计模式?CAD系统中的绘图编辑器代码 TextShape类的代码:TextShape类是适配器类,属于系统搭建中的核心部分 public class TextShape implements Shape { // TextShape类是适配器类 private TextViewer adaptee; public TextShape(TextViewer adaptee) { super(); this.adaptee = adaptee; } // 适配器类直接委派源角色的display()方法 public void displayText() { adaptee.display(); } public void draw() { System.out.println(绘制文本框); } public void otherMethod() { System.out.println(还可以在适配器内补充其他方法); } } 8.5行为型设计模式 行为型设计模式是对在不同的对象之间划分责任和算法的抽象化。 行为型设计模式分为类的行为型模式和对象的行为型模式两种。 类的行为型模式使用继承关系在几个类之间分配行为,对象的行为型模式则使用对象的聚合关系来分配行为。 模板方法设计模式 模板方法设计模式把多个类的公共内容提取到一个模板中。 模板方法设计模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中完成,它使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法设计模式 模板方法设计模式?示例代码 Template类代码: public abstract class Template { protected String type; public Template(String type){ this.type=type; } //留给子类去实现的基本方法 abstract protected void usePhone (String type); //抽象类已经实现好的基本方法,子类不能重写 public final void finishWiFi(String type){ System.out.println(使用+type+品牌的手机完成上网任务); } //模板方法,是所有子类都要用到的一些基本功能 public final void accessWiFi (){ usePhone (type); } } 模板方法设计模式?示例代码 HuaWeiPhone类的代码: public class HuaWeiPhone extends Template { public HuaWeiPhone (String type) { super(type); } protected void usePhone (String type) { System.out.println(使用+type+手机); } } SamSungPhone类的代码: public class SamSungPhone extends Template { public SamSungPhone (String type) { super(type); } protected void usePhone (String type) { System.out.println(使用+type+手机); } } 模板方法设计模式?示例代码 客户端代码: public class Client { public static void main(String[] args) { Template t1=new HuaWeiPhone (Ascend D2); Template t2=new SamSungPhone (i930
您可能关注的文档
- 第3章 处的理器体系结构及组成.ppt
- 第3章 消费者行为理论的(完全版).ppt
- 第3章 的用户与用户组管理.pdf
- 第3章 数的值计算功能.ppt
- 第3章 的用户管理.ppt
- 第3章 表操作的-1(字段类型讲解) -XU.pptx
- 第3章 的系统总线.ppt
- 第3章 补充二进制 常量的及其类型.ppt
- 第3章 第一个Android程序(第1讲 在Andro的id Studio中创建与运行Android项目).ppt
- 第3章 表的创的建和使用.ppt
- 2025年首都医科大学脑重大疾病研究中心(北京脑重大疾病研究院)招聘3人笔试备考题库及答案详解一套.docx
- 2025年首都师范大学招聘83人笔试高频难、易错点备考题库附答案详解.docx
- 2025年贵州毕节职业技术学院招聘17人笔试备考题库及参考答案详解一套.docx
- 2025年超纯矿物新材料产业技术研究院招聘博士研究生方案笔试高频难、易错点备考题库含答案详解.docx
- 2025年贵州护理职业技术学院招聘19人方案笔试高频难、易错点备考题库参考答案详解.docx
- 2025年绥化市望奎县事业单位人才引进笔试备考题库含答案详解.docx
- 2025年贵州省发展和改革委员会所属事业单位招聘2人方案笔试高频难、易错点备考题库及答案详解1套.docx
- 2025年贵州省农业农村厅所属事业单位招聘4人方案笔试备考题库参考答案详解.docx
- 2025年辽宁鞍山市铁东区事业单位面向应届生招聘7人笔试高频难、易错点备考题库附答案详解.docx
- 2025年隆昌市教育和体育局上半年公开选调下属事业单位笔试备考题库及参考答案详解一套.docx
文档评论(0)