0 0

一个关于代码设计模式的问题0

我有一个解压缩工具类,用来解压上传的文件。
public class FileUtils {

public static void unZip(InputStream is) throws Exception{

}

}

现在我想上传的是一个User实体,那么我需要在FileUtils的unZip方法里面使用到这个User对象,那我可以这样写
public class FileUtils {

public static void unZip(User user,InputStream is) throws Exception{

}

}

但是这个解压工具类不能仅仅局限于一种对象,将来我想上传一个Department实体就需要改代码或者是新添加一个方法。
  public static void unZip(Department department,InputStream is) throws Exception{

  }
所以把一个确定好的对象当成参数传过来不是一个好办法。
我应该怎样设计这个类,让他更加灵活呢,耦合度更低呢?
2012年8月08日 21:15

2个答案 按时间排序 按投票排序

0 0

定义一个接口不就行了

2012年8月09日 08:59
0 0

方法太多种了,这里只举例其中一种。

public interface UnzipEntity {
    public void unzip(InputStream is);
}


public class User implements UnzipEntity {
    //getter setter

    public void unzip(InputStream is) {
        //your unzip code
    }
}

public class Department implements UnzipEntity {
    //getter setter

    public void unzip(InputStream is) {
        //your unzip code
    }
}



public class FileUtils { 

    public static void unZip(UnzipEntity entity, InputStream is) throws Exception{ 
      entity.unzip(is);  
    } 

} 

2012年8月08日 22:06

相关推荐

    设计模式仿写代码demo

    设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模式仿写代码设计模式仿写代码...

    设计模式 (20种设计模式代码详解)

    设计模式是一种在软件设计中被广泛采用的解决常见问题的经验总结,它们是经过验证的解决方案模板,可以帮助开发者在遇到特定问题时,能够迅速找到最佳实践。这个压缩包中包含了20种经典的设计模式,每种模式都有代码...

    设计模式(包含5个设计模式)含源代码报告.rar

    在软件开发领域,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。这个压缩包文件"设计模式(包含5个设计模式)含源代码报告.rar"显然是一份宝贵的资源,它涵盖了五个核心的设计模式,并附带了详细...

    JS设计模式笔记和代码

    在"DesignPattern-master"压缩包中,可能包含了关于这些设计模式的详细说明、示例代码和实践应用。通过学习这些资料,开发者可以深入理解每种模式的工作原理,以及如何在实际项目中应用它们,提升代码质量和设计水平...

    设计模式示例代码(java)

    设计模式示例代码(java)设计模式示例代码(java)v设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)设计模式示例代码(java)...

    漫谈设计模式代码

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决常见问题的最佳实践。《漫谈设计模式》这本书深入浅出地介绍了多种设计模式,通过代码实例帮助读者理解和应用这些模式。在这个压缩包...

    重构设计与代码设计模式

    这是一个很好的重构模式,设计方案,这是一个很好的重构模式,设计方案,这是一个很好的重构模式,设计方案,这是一个很好的重构模式,设计方案,这是一个很好的重构模式,设计方案,这是一个很好的重构模式,设计...

    23种设计模式项目代码

    总结来说,这份“23种设计模式项目代码”是一个宝贵的资源,它提供了.NET环境下设计模式的实际应用案例,帮助开发者将理论知识与实践经验相结合,提升软件开发的专业技能。通过深入学习和实践这些代码,开发者可以更...

    Java设计模式源代码

    Java设计模式是软件工程中的一种最佳实践,它提供了一套标准的解决方案,用来解决在编写可维护、可扩展和高效代码时经常遇到的问题。这些模式是经验丰富的开发人员在面对相似问题时经过长期实践和总结得出的智慧结晶...

    设计模式 示例代码

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的设计问题。它们是经过时间验证、可重用的解决方案模板,可以帮助开发者更高效地设计和实现软件系统。本资料包“设计模式 示例代码”提供了多种...

    Head First 设计模式 源代码

    设计模式是软件开发中经过实践验证的、解决常见问题的最佳解决方案,它们是经验的结晶,可以提高代码的可读性、可维护性和复用性。以下是《Head First 设计模式》中涉及的一些主要设计模式及其在源代码中的体现: 1...

    设计模式大作业(含源代码+PPT+报告)

    本科阶段写过一个小游戏,是一门课的大作业,当时能力有限,代码能力以及对设计模式的理解和运用都不够,后来研究生期间,由于《软件结构设计与模式分析》这门课的期末考试需要我们编写并分析一个软件,软件类型不限...

    设计模式代码

    "desPatten"可能是对设计模式的进一步讨论或实现,可能是文档或代码库,提供了更多关于设计模式的深入理解和应用。 "common-util-history"可能是一个历史版本的通用工具库,这个库的演化过程可能体现了设计模式在...

    Java设计模式代码,设计模式系列所有示例代码

    这个Java设计模式代码库是一个宝贵的资源,无论是初学者还是经验丰富的开发者,都可以从中受益匪浅,加深对设计原则和最佳实践的理解。通过实践这些模式,开发者可以构建出更健壮、可扩展的软件系统。

    设计模式 含代码及讲解

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决常见问题的最佳实践。设计模式并不是具体的代码或库,而是一种通用解决方案的描述,可以在多种编程语言中实现。这些模式总结了软件开发人员在设计高...

    简单的设计模式C++代码

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。它们是经过验证的、可重用的解决方案模板,可以提高代码的可读性、可维护性和复用性。C++作为一门强大的面向对象编程语言,是实现设计...

    head first设计模式学习代码

    《Head First设计模式学习代码详解》 设计模式是软件工程中的宝贵经验总结,它提供了一套通用的解决方案模板,帮助开发者在面对复杂问题时能够快速有效地进行设计和开发。Head First设计模式是一本非常受欢迎的设计...

    研磨设计模式全部源代码

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的模板。这个压缩包“研磨设计模式全部源代码”包含了多种设计模式的实现,这些模式可以帮助开发者写出更可维护、可扩展和可复用的代码。下面将...

    设计模式之美——教你写出高质量代码

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。"设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式...

    Java设计模式 代码实例

    经典的java设计模式,有代码案例图文案例,面试常考得java设计模式。

Global site tag (gtag.js) - Google Analytics