`
bolinyang
  • 浏览: 76033 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何不修改原来的代码呢?

阅读更多
一.概述

    今天遇到这样一个需求,修改一个系统中的一段逻辑,但是涉及到10类都要修改,并且修改的逻辑一模一样,也就是说需要在这10个类的某个方法上都加上一段相同的代码,为了下面描述方便,我们暂时把这段代码命名为CODEA,很正常的思路我们想到了AOP,但是CODEA有个特殊的地方,当CODEA在某种场景下面执行的时候,执行完后,方法需要立即返回,其实就是所谓的MOCK思想,显然AOP是做不到,AOP能够在方法执行的时候增加一些横切逻辑,但是这些横切逻辑是没法阻止原来方法执行的,因此AOP在这里行不通。

二.解决方法

    上面的问题再抽象一下,就是说在某种条件下,把某个方法给替换了,因此我们直接使用MethodReplacer即可。在一个问题暂时想不清楚的时候,最好把问题再抽象一下,或许你就会有意外的发现。
分享到:
评论

相关推荐

    Debug时修改代码能即时生效.

    然而,传统的开发环境并不支持在不重启应用的情况下直接修改代码并立即生效,这无疑降低了开发效率和调试的速度。针对这一问题,开发者们寻求了一种解决方案——使用Direct Clark Error VM(简称DCEVM)插件,实现在...

    8.如何检测文件是否已经发生更改?(Visual C++编程 源代码)

    8.如何检测文件是否已经发生更改?(Visual C++编程 源代码)8.如何检测文件是否已经发生更改?(Visual C++编程 源代码)8.如何检测文件是否已经发生更改?(Visual C++编程 源代码)8.如何检测文件是否已经发生...

    1.如何设置光标?(Visual C++编程 源代码)

    (Visual C++编程 源代码)1.如何设置光标1.如何设置光标?(Visual C++编程 源代码)?(Visual C++编程 源代码)1.如何设置光标?(Visual C++编程 源代码)1.如何设置光标?(Visual C++编程 源代码)1.如何设置...

    vscode中, git只提交部分修改的代码文件.docx

    - 在源代码管理面板中,你会看到两种类型的更改:“已修改(Modified)”和“未追踪(Untracked)”。 - 对于**已修改的文件**,你可以通过点击文件旁边的 "+" 或 "-" 符号来选择要暂存的部分更改。例如,如果你只想...

    C#窗体修改密码的代码

    首先,代码使用if语句来验证用户输入的信息是否完整,如果输入信息不完整,系统将弹出提示框,询问用户是否关闭窗口。如果用户选择“是”,则关闭窗口。 其次,代码使用 else if 语句来验证用户输入的新密码是否...

    修改netbeans中自动生成的代码

    然而,对于追求代码质量和特定项目需求的开发者来说,对自动生成的代码进行修改是不可避免的。本文将深入探讨如何在NetBeans中修改自动生成的代码,包括修改流程、注意事项以及最佳实践。 ### 修改自动生成代码的...

    ubnt改国家代码说明

    在使用UBNT(Ubiquiti Networks)设备的过程中,有时需要更改设备所设置的国家代码。国家代码的更改主要是为了适应不同地区的无线通信法规和标准。例如,在某些国家和地区,2.3G或2.5G频段的使用可能受到限制。因此...

    动软代码生成器C#连接mysql三层代码模板--修改版

    动软代码必须修改 “工具”-“选项”弹出窗 后,点击 ”代码生成设置“-”字段类型映射“-”参数符号“中删除 mysql @,添加mysql ? C# 连接 mysql 需要的相应三层结构模板(修改版) 1、该版本 有 增加 读取...

    dreamweaver cs6 代码颜色更改方案

    首先,我们来探讨为什么需要更改代码颜色方案。默认的代码高亮颜色可能对某些用户来说过于刺眼,长时间使用可能导致视觉疲劳,进而影响到工作效率和健康。而自定义代码颜色方案不仅能帮助我们更好地区分不同的代码...

    更改CPU名称,重启奏效(100% 真实)_修改cpu信息重启不变代码-CSDN博客.html

    更改CPU名称,重启奏效(100% 真实)_修改cpu信息重启不变代码-CSDN博客.html

    10.如何改变应用程序窗口的大小?(Visual C++编程 源代码)

    (Visual C++编程 源代码)10.如何改变应用程序窗口的大小?(Visual C++编程 源代码)10.如何改变应用程序窗口的大小?(Visual C++编程 源代码)10.如何改变应用程序窗口的大小?(Visual C++编程 源代码)10.如何...

    eclipse修改代码后热部署(不需要重启服务

    然而,默认情况下,Eclipse并不支持代码修改后的“热部署”,即当你修改了代码后,需要重新启动应用服务器才能看到变化。这对于频繁的调试和测试过程来说,无疑降低了开发效率。幸运的是,有一种方法可以实现Eclipse...

    Java代码优化细节总结

    可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼被喂饱...

    文件属性修改php代码

    如果权限修改成功,则输出“文件权限修改成功”,否则输出“文件权限修改失败”。 以上就是从给定文件中提取的相关PHP知识点及其详细解析。这些知识点涵盖了文件上传、文件编辑以及文件权限修改等多个方面,对于...

    Ip修改 源代码,包括修改mac地址

    假期没事,写的一个小软件,代码写的乱糟糟的,不嫌弃的朋友就将就看下,希望对大家有用~~!

    【ChatGPT实战】如何使用ChatGPT写代码?

    你可以根据返回的代码进行修改和调整,以适应你的项目需求。 例如,如果你正在编写一个HTML页面,并想知道如何使用JavaScript添加事件监听器,你可以问:“如何用JavaScript在按钮点击时执行一个函数?”ChatGPT会...

    自己编写的红月生化升级不爆的代码

    本代码可以实现升化分解后在原来位置重新插入爆之前相同的升化装备。

    Mac地址修改源代码

    3. 修改Mac地址的代码可能使用Windows API调用,例如`ManagementClass`或`ManagementObject`,通过查询注册表或者直接与网络接口卡进行通信来更改Mac地址。 4. 停用和启用本地连接的步骤:在修改Mac地址前,需要先...

    发送会议邮件预约日程以及修改取消java代码

    这个网上教程和多,但是如果已经发送了日程,又需要使用代码进行修改怎么办呢? 2.会议的修改和取消: 首先,发送安排时需要记录生成的UUID,这个是邮件识别日程的关键ID,需要修改的话就再次发送同样ID的邮件就可以...

    冈萨雷斯数字图像处理源代码

    《冈萨雷斯数字图像处理》是一本在图像处理领域具有深远影响的经典著作,由Rafael C. Gonzalez和Richard E....同时,这些代码也可以作为实验项目的起点,根据自己的需求进行修改和扩展,以实现更复杂的应用场景。

Global site tag (gtag.js) - Google Analytics