zoukankan      html  css  js  c++  java
  • 重构改善既有代码设计--重构手法15:Remove Middle Man (移除中间人)

    某个类做了过多的简单委托动作。让客户直接调用受托类。

    动机:在Hide Delegate (隐藏委托关系)的“动机”中,谈到了“封装委托对象”的好处。但是这层封装也是要付出代价的,它的代价是:每当客户要使用受托类的新特性时,你就必须在服务端添加一个简单委托函数。随着委托类的特性(功能)越来越多,这一过程让你痛苦不已。服务类完全变成了“中间人”,此时你就应该让客户直接调用受托类。

           很难说什么程度的隐藏才是合适的。还好,有了Hide Delegate (隐藏委托关系)和Remove Middle Man (移除中间人),你大可不必操心这个问题。因为你可以在系统运行过程中不断进行调整。随着系统的变化,“合适的隐藏程度”这个尺度也相应改变。6个月前恰如其分的封装,现今可能就显得笨拙。重构的意义在于:你永远不必说对不起—只要把出问题的地方修补好就行了。

    做法:1、建立一个函数,用以获得受托对象。

           2、对于每个受托函数,在服务类中删除该函数,并让需要调用该函数的客户转为调用受托对象。

           3、处理每个受托函数后,编译、测试。

  • 相关阅读:
    重新学习MySQL数据库开篇:数据库的前世今生
    Java网络编程和NIO详解9:基于NIO的网络编程框架Netty
    测试小鲸鱼
    golang
    技术篇
    请求报文和响应报文
    编程
    测试
    PHP
    centos7.1 从源码升级安装Python3.5.2
  • 原文地址:https://www.cnblogs.com/pony1223/p/7564022.html
Copyright © 2011-2022 走看看