重构——15移除中间人(Remove Middle Man)

简介: 移除中间人(Remove Middle Man):某个类做了过多的简单委托动作;让客户直接调用受托类

移除中间人(Remove Middle Man)

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

一、动机

1、封装委托对象有代价,每当客户要使用委托类的新特征是,你就必须在服务器端添加一个简单的委托函数

2、尺度很难拿捏,重构的意义就在于:你永远不必说对不起,只要把出问题的地方修补好就行了

二、做法

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

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

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

目录
相关文章
|
3月前
|
Unix Shell Linux
如何使用find查找命令
如何使用find查找命令
|
3月前
|
小程序 JavaScript 索引
小程序动态添加input及删除
【8月更文挑战第16天】
|
6月前
|
人工智能
D. Remove One Element(前缀最大+简单状态机)
D. Remove One Element(前缀最大+简单状态机)
|
Python
python之列表中常用的函数:append,extend,insert,pop,remove,del函数的定义与使用方法,元素是否在列表中的判断
python之列表中常用的函数:append,extend,insert,pop,remove,del函数的定义与使用方法,元素是否在列表中的判断
145 0
|
6月前
|
前端开发 JavaScript
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
element中的el-select中多选回显数据后没法重新选择和更改
element中的el-select中多选回显数据后没法重新选择和更改
|
JavaScript 索引
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
332 0
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
|
存储 Java 程序员
foreach中不允许对元素进行add和remove底层原理
foreach中不允许对元素进行add和remove底层原理 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者微信公众号:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
129 0
foreach中不允许对元素进行add和remove底层原理
|
安全 Java 程序员
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
我们使用的增强for循环,其实是Java提供的语法糖,其实现原理是借助Iterator进行元素的遍历。
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作