美文网首页
重构手法--在对象之间搬移特性

重构手法--在对象之间搬移特性

作者: 理想是一盏灯 | 来源:发表于2018-09-06 15:36 被阅读13次

在对象之间搬移特性

1、搬移函数

一个函数大量使用其他类的东西,高度耦合:

把函数搬到它所引用的类target class中,将旧函数变成一个单纯的委托函数(delegating method),或是将旧函数完全移除。

当需要使用源类的特性时:

(1)将这个特性也移到target class;(2)建立或使用一个从target class到source的引用〔指涉)关系;(3)将source object当作参数传给target class;(4)如果所需特性是个变量,将它当作参数传给target method。

搬移值域

某个field(值域〕被其所驻class之外的另一个class更多地用到

提炼类

某个class做了应该由两个classes做的事:建立一个新class,将相关的值域和函数从旧class搬移到新class。

将类内联化

某个class没有做太多事情(没有承担足够责任):将class的所有特性搬移到另一个class中,然后移除原class

隐藏委托关系

客户直接调用其server object(服务对象)的delegate class。

在server端(某个class〕建立客户所需的所有函数,用以隐藏委托关系(delegation)。

去掉中间人

某个class做了过多的简单委托动作(simple delegation)。

让客户直接调用delegate(受托类)。

引入外加函数

你所使用的server class需要一个额外函数,但你无法修改这个class。

在client class中建立一个函数,并以一个server class实体作为第一引数(argument) :

引入本地扩展

你所使用的server class需要一些额外函数,但你无法修改这个class。

建立一个新class,使它包含这些额外函数。让这个扩展品成为source class的subclass (子类〕或wrapper(外覆类)。

相关文章

  • 重构手法--在对象之间搬移特性

    在对象之间搬移特性 1、搬移函数 一个函数大量使用其他类的东西,高度耦合: 把函数搬到它所引用的类target c...

  • 《重构》- 在对象之间搬移特性

    一. Move Method(搬移函数) 介绍 场景你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用...

  • 重构——在对象之间搬移特性

    在对对象的设计过程中,“决定把责任放在哪儿”即使不是最重要的事,也是最重要的事情之一。 1 Move Method...

  • 代码重构之对象之间的搬移

    1.引言 前面把代码中函数的重构记录了下,今天在记录下在对象之间搬移特性。 2.正题 《重构改善既有代码的设计》中...

  • 重构-读书笔记二

    重构第七章主要说的是在对象之间搬移特性 先说自己的感受,这个是在面向对象设计期间非常重要而且不好把握的地方,具体的...

  • 重构-在对象之后搬移特性

    引言 在对象的设计过程中,“决定把责任放在哪儿”是一件很重要的事情,如果出现问题则可以运用重构,改变自己原先的设计...

  • 在对象之间搬移特性

    0. 本章内容导图 1. 重构手法 1.1 搬移函数 概要:你的程序中,有个函数与其所驻类之外的另一个类进行更多交...

  • 《重构》学习笔记(05)-- 在对象之间搬移特性

    在对象设计的过程中,“决定把责任放在哪儿”是最重要的事情之一。但无论使用对象技术多么娴熟,也无法保证在设计对象时一...

  • 重构(六)重构名录-搬移特性

    搬移函数 Move Function 模块化是优秀软件设计的核心所在,好的模块化能够让我在修改程序时只需要理解程序...

  • 002-在对象之间搬移特性

    在对象之间搬移特性 1. Move Method(搬移函数) Q:你的程序中,有个函数与其所驻类之外的另一个类进行...

网友评论

      本文标题:重构手法--在对象之间搬移特性

      本文链接:https://www.haomeiwen.com/subject/pcuxgftx.html