重构——16引入外加函数(Introduce Foreign Method)

引入外加函数(Introduce Foreign Method)

你需要为提供服务的类增加一个函数,但你无法修改这个类;在客户端建立一个函数,并以第一参数形式传入一个服务类实例

一、动机

1、服务类不能提供一项新服务,你又不能修改源码

2、如果需要大量的外加函数,就Introduce Local Extension

3、外加函数是权宜之计

二、做法

1、在客户端类建立一个函数,用来提供你需要的功能,这个函数不应该调用客户端类的任何特性。如果他需要一个值,把该值当做参数传给它

2、以服务类实例作为该函数的第一个参数

3、将该函数注释为:外加函数,应该在服务类实现

上一篇:微软Project Europe或将帮助Win10应用开发


下一篇:C++编程有趣的标题1 于1~9填写的运算结果的中间符号等于100