您的位置:首页 > 其它

第1部分 接口型模式

2016-08-23 22:59 169 查看
第2章 接口型模式介绍

接口和抽象类的区别:

1、一个类可以实现多个接口,却只能继承一个抽象类

2、抽象类可以包含具体方法,接口所有方法都是抽象的

3、抽象类可以声明和使用字段,接口则不能,但可以创建静态的final常量

4、抽象类中的方法可以是public\private\protected\默认的package;接口的方法都是public

5、抽象类可以定义构造方法;接口不能

不同场景下应使用的模式:

1、适配类的接口以匹配客户端期待的接口:适配器模式

2、为一组类提供一个简单接口:外观模式

3、为单个对象与复合对象提供统一的接口:合成模式

4、接触抽象与实现之间的耦合,使得二者能够独立演化:桥接模式

第3章 适配器(Adapter)模式

适配器模式的意图在于,使用不同接口的类所提供的服务为客户端提供它所期望的接口。

类的适配器继承自现有的类,同时实现目标接口;

对象适配器继承自目标类,同时引用现有的类。

适用场景:

1)系统需要使用现有的类,而这些类的接口不符合系统的接口。

2)想要建立一个可以重用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。

3)两个类所做的事情相同或相似,但是具有不同接口的时候。

4)旧的系统开发的类已经实现了一些功能,但是客户端却只能以另外接口的形式访问,但我们不希望手动更改原有类的时候。

5)使用第三方组件,组件接口定义和自己定义的不同,不希望修改自己的接口,但是要使用第三方组件接口的功能。

适配器模式是一个补救模式,用来解决接口不相容的问题。

第4章 外观(Facade,也叫门面)模式

外观模式的意图是为子系统提供一个接口,便于它的使用。(定义一个高层接口,这个接口使得这一子系统更加容易使用。)

应用场景:

1)为一个复杂子系统提供一个简单接口。

2)提高子系统的独立性。

3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口

顾名思义:为一个复杂系统,提供一个外观(一个门)

第5章 合成(composite,也叫组合)模式

合成模式的意图是为了保证客户端调用单对象与组合对象的一致性。

应用场景:

1)文件系统

只要是树形结构,就考虑使用组合模式。

树形菜单、文件系统。

第6章 桥接(Bridge)模式

桥接模式的意图是将抽象与抽象方法的实现相互分离来实现解耦,以便二者可以相互独立的变化。

将抽象和实现解耦

应用场景:

1)驱动器(数据库驱动)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: