加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 设计模式为“toString”第三方对象

发布时间:2020-12-15 04:55:43 所属栏目:Java 来源:网络整理
导读:我有一个第三方对象,它使用从 Java.lang.Object继承的toString方法.这种方法很无用.但是我想不出一个干净的设计来覆盖这种行为.以下不同的方法. 子类并覆盖toString方法. 问题:如果原始对象内部的任何调用调用toString并检查返回的String,它们现在将中断.我
我有一个第三方对象,它使用从 Java.lang.Object继承的toString方法.这种方法很无用.但是我想不出一个干净的设计来覆盖这种行为.以下不同的方法.

>子类并覆盖toString方法.

问题:如果原始对象内部的任何调用调用toString并检查返回的String,它们现在将中断.我不想打破现有的对象,也不想假设第三方代码的清洁度.

>使用createString方法创建一个StringFactory.此方法在我所讨论的第三方对象以外的所有对象上调用toString,但是对于我的对象,我以自定义方式构建一个String.

问题:我既不能要求所有内容都传递给createString方法,也不能直接调用toString(这在大型代码库中会很荒谬),也不能轻易记住应该传递哪些对象,因为它们有自定义逻辑.

有没有人有一个感觉干净的设计模式?

解决方法

只需在util类上使用静态方法:

public class MyUtils {

    public static String toString(My3rdPartyClass obj) {
        // impl here
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读