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

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

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

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

    JS设计模式笔记和代码

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

    重构设计与代码设计模式

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

    设计模式示例代码(java)

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

    设计模式实例代码

    在软件开发领域,设计模式是一种经过时间和实践验证的解决方案,用于解决常见的编程问题。这些模式是经验丰富的开发者在解决特定问题时所采用的最佳实践。在本案例中,我们聚焦于C#语言中的设计模式,通过"设计模式...

    漫谈设计模式代码

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

    Java设计模式源代码

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

    设计模式 示例代码

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

    C#经典设计模式及代码示例

    设计模式是软件工程中经过实践验证的、解决常见问题的有效模板,能够帮助程序员提高代码的可读性、可维护性和复用性。这本书结合了理论与实践,提供了丰富的代码示例,使得学习设计模式变得更加直观。 在C#编程中,...

    23种设计模式的代码版

    工厂方法模式是一种创建型设计模式,它提供了一个创建对象的接口,但让子类决定实例化哪一个类。在代码中,`Factory` 是抽象工厂,`Product` 是产品接口,`Product1` 和 `Factory1` 是具体的产品和工厂实现。`fmd()...

    Head First 设计模式 源代码

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

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

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

    设计模式代码

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

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

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

    设计模式C++实现源代码

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题,提供了一套可重用的解决方案。C++是一种强大的、面向对象的编程语言,广泛应用在系统软件、游戏开发、实时金融系统等领域。结合C++实现...

    head first设计模式学习代码

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

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

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

    设计模式之我见源代码

    总之,"设计模式之我见源代码"为我们提供了一个实践和学习设计模式的宝贵资源。通过分析和研究这些源代码,我们可以提升软件设计能力,更好地理解和应用设计模式,从而编写出更加健壮、可维护和可扩展的软件系统。

Global site tag (gtag.js) - Google Analytics