重构——17引入本地扩展(Introduce Local Extension)

简介: 引入本地扩展(Introduce Local Extension):你需要为服务类提供一些额外函数,但你无法修改这个类;建立一个新类,使它包含这些额外函数,让这个类扩展成为源类的子类或者包装类

引入本地扩展(Introduce Local Extension)

你需要为服务类提供一些额外函数,但你无法修改这个类;建立一个新类,使它包含这些额外函数,让这个类扩展成为源类的子类或者包装类

一、动机

1、需要的额外函数超过俩,Introduce Foreign Method Hold不住了

2、包装类和子类怎么选择?

二、做法

1、建立一个扩展类,将它作为原始类的子类或者包装类

2、在扩展类中加入转型构造函数

3、在扩展类中加入新特性

4、根据需要,将源对象替换为扩展对象

5、将针对原始类定义的所有外加函数搬移到扩展类中

6、重新组织数据

目录
相关文章
|
前端开发 开发者
通过 local 和 global 设置类名是否被模块化|学习笔记
快速学习通过 local 和 global 设置类名是否被模块化
139 0
|
前端开发
通过local和global设置类名是否被模块化
通过local和global设置类名是否被模块化
CTK框架 - 第一个插件
前面我们已经介绍了CTK框架的基本信息,接下来我们来一步一步搭建CTK的第一个插件。
165 0
|
9月前
|
Swift Perl
OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries
OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries
199 0

热门文章

最新文章