引入外加函数(Introduce Foreign Method)
你需要为提供服务的类增加一个函数,但你无法修改这个类;在客户端建立一个函数,并以第一参数形式传入一个服务类实例
一、动机
1、服务类不能提供一项新服务,你又不能修改源码
2、如果需要大量的外加函数,就Introduce Local Extension
3、外加函数是权宜之计
二、做法
1、在客户端类建立一个函数,用来提供你需要的功能,这个函数不应该调用客户端类的任何特性。如果他需要一个值,把该值当做参数传给它
2、以服务类实例作为该函数的第一个参数
3、将该函数注释为:外加函数,应该在服务类实现