设计模式【8】:外观设计【接口适配】

Gof上的官方定义:外观模式为子系统中一组不同的接口提供统一的接口。外观定义了上层接口,通过降低复杂度和隐藏子系统间的通信及依存关系,让子系统易于使用。

其实这个设计模式我们很常见,一般我们使用第三方类的时候都会有这种模式,使用第三方时我们只需要引用第三方的其中改一个文件就能满足很多功能的使用。我只这个文件就是讲子系统的一些方法归并到了这个文件中,从而使使用者上手更快。

以后应该多使用这种设计模式,一方面可以增加项目的可读性,项目的易维护性,更重要的是多人协作开发时可以提高开发效率。

设计模式【8】:外观设计【接口适配】

时间: 2024-11-02 19:03:54

设计模式【8】:外观设计【接口适配】的相关文章

设计模式【6】:适配器模式【接口适配】

pcDuino3下支持mmc启动,官方的Uboot是采用SPL框架实现的,因为内部的SRAM空间达到32K,我们完全可以在这32K空间内编写一个完整可用小巧的bootloader来完成引导Linux kernel的目的. 我们首先介绍下SPL框架,可以先看下<GNU ARM汇编--(十八)u-boot-采用nand_spl方式的启动方法>和<GNU ARM汇编--(十九)u-boot-nand-spl启动过程分析>,NAND_SPL也算是SPL框架下的一种模式. 当使用Nand f

设计模式【7】:桥接模式【接口适配】

1,定义 Gof23设计模式中是这样定义桥接设计模式:桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更.抽象层定义了供客户端使用的上层的抽象接口.实现层次结构定义了供抽象层次使用的底层接口.实现类的引用被封装于抽象类的实例中时,桥接就形成了. 我们用一个游戏的例子去理解这个桥接模式,比如,我们假如魂斗罗一代,魂斗罗二代界面没多大变化,可以共用一套底层接口. 上面这个图:左侧部分Abstraction是抽象类,右侧部分是实现类. 按照定义,实现类应该是实现具体的底层接口,我们都知

Objective-C设计模式——外观Faced(接口适配)

外观模式 外观设计模式和适配器差不多,不过它门对对象控制的粒度不同,适配器一般只是控制一个系统和客户端的对接.外观则是用来抽象多个系统一起工作. 外观一般具有多个子系统,所以外观应持有多个子系统的引用,同构向高层提供抽象接口实现封装.外观一般是可以多次使用的,比如一个庞大的系统中,可以多次使用外观来进行封装,然后再对外观使用外观封装达到多层抽象的目的. 使用场景 子系统正逐渐变得复杂.应用模式的过程中演化出来许多类.可以使用外观为这些子系统类提供一个较简单的接口. 可以使用外观对子系统进行分层.

设计模式(7)--适配式模式与外观模式

转换接口. 引入新原则: " 最少知识"原则   作用为 外观模式 面向对象的适配器:将一个接口转换成另一个接口,以符合客户的期望. 对象适配器  与  类适配器 OO原则:(1)封装变化 (2)多用组合,少用继承 (3)针对接口编程,不针对实现编程 (4)为交互对象之间的松耦合设计而努力 (5)类应该对扩展开放,对修改关闭.(6) 依赖抽象,不要依赖具体类.(7)只和朋友交流. OO模式: 适配器模式-:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无

《Java设计模式》之接口模式

-----------模式是思想的体现,而非具体的实现. 抽象的讲,类的接口是类允许其他类对象访问的方法与字段集.接口通常代表一种承诺,即方法需要实现接口方法名表示的操作,遵循代码注释和其他文档说明,类的实现就是方法体中的代码. java不允许多重继承,也就是说一个子类只能有一个父类,Son extends FatherA,FatherB 是错误的为了弥补这点不足,java允许实现多个接口, 接口就是给出一些没有内容的方法,类似于C++中的虚类.到具体用的时候再由用的方法自己定义内容,要注意的是

go语言接口适配,适配器模式

直接上代码: package main                                                                                                                                                    import "log"                                                                  

设计模式之禅-接口隔离原则

个人blog 此篇博文地址:http://www.sanyinchenblog.com/?p=174 接口隔离原则: demo: https://github.com/sanyinchen/UMLDemo 接口的两种类型: (1)实例接口 (2)类接口,使用Interface定义的接口 隔离: (1)客户端不应该依赖它不需要的接口 (2)类间的依赖关系应该建立在最小的接口上 场景描述:你一日在大街上闲着无聊,在大街上喊了一句美女,结果好多女生都回过头注视你. 我们现在给美女下一个定义: (1)好

设计模式原则之接口隔离原则

在讲接口隔离原则之前,我们先明确一下我们的主角,什么是接口,接口分为两种: 一种是实例接口 (Object Interface),在 Java 中声明一个类,然后用 new 关键字产生的一个实例,它是对一个类型的事 物描述,这是一种接口,比如你定义个 Person 这个类,然后使用 Person zhangSan = new Person()产生了 一个实例,这个实例要遵从的标准就是 Person 这个类,Person 类就是 zhangSan 的接口,看不懂?不要紧, 那是让 Java 语言浸

重读《JavaScript设计模式》- 接口

接口 和Class一样,JavaScript也没有对接口的原生支持. 下面是书中三种实现接口的方式:   提示 实际环境中我们会对书中的方案进行取舍 注释 注释法用文档来约束代码,不是强制约束,只能靠开发人员自觉维护. 优点是不用额外代码支持,不会增大文件大小,不会影响执行速度. 缺点是无法提供检查,错误信息. # interface Composite # add(child) # remove(child) # getChild(index) # # interface FormItem #