3. Adapter模式

场景

我在写一个程序,要计算一个广场的面积。我突然想起了Jill,他做了一个形状类,里面有长方形和它的面积计算方法。
为了减少重复代码和提高自己的工作效率,我准备直接调用它的长方形类。
但是我在计算的过程中需要添加单位,所以我将它的类拿来后,做了本地化的包装,并做成了一个新的类。

而这种利用别人的代码,来建立新的代码的方式达到自己的目的,就是Adapter模式。

总结

意图:使控制范围之外的一个原有对象和某个接口匹配。
问题:系统的数据和行为都正确,但是接口不符。通常用于必须从抽象类派生时。
解决方案:Adapter模式提供了具有所需接口的包装类。
效果:Adapter模式使原有对象能够适应新的类结构,不受其接口的限制。
实现:将原有类包含在另一个类之中。让包含类与需要的接口匹配,调用被包含类的方法。或者通过继承来获得原有类。
对比:Facade模式简化了接口,而Adapter模式则是将一个已有的接口转变成另一个接口。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 3,856评论 3 14
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,961评论 1 15
  • 文:茶茶 来源:小茶夜读 01 昨天看北京卫视春晚,谢楠在台上参演小品,吴京在观众席一脸宠溺地看着她。 猝不及防被...
    黄苏轻创业玩家阅读 412评论 1 2
  • 第十四章 学 习 文:青河 学习是人生的大事,一个积极进取的人必然是一个持续学习的人,从课堂上学习,从书本上学习,...
    QH青河阅读 510评论 3 4
  • 想每天给你发一遍消息 早安晚安
    叶孤绝阅读 39评论 0 0