Closed. This question is opinion-based。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                
                    6年前关闭。
            
        

    

我有一个称为TestPlan的类(简单地说,假设它是一个普通的Java bean)。

我需要将TestPlan实例存储在xml文件中(每个文件1个实例)。我可以看到的最合适的方法是使用另一个仅应执行与xml相关的工作的类。

它将具有以下方法:

public TestPlan parseTestPlanXml(InputStream xmlFile) {
    TestPlan testPlan = new TestPlan();
    //parse xmlFile and set testPlan fields via setters
    return testPlan;
}

public OutputStream writeTestPlanXml(TestPlan testPlan) {
    //the actual implementation just copies the original xmlFile,
    //makes necessary modifications
    //and writes it to ByteArrayOutputStream
    ...
}


您会为这个课程建议哪个名字? (顺便说一句,如果您也可以为这两种方法建议更好的名称,请不要犹豫)。

谢谢!

最佳答案

如果该类仅负责加载/保存TestPlan对象,并且没有其他类似的方法来加载/保存其他类的对象,则可能是

class TestPlanXmlMarshaller {
    public TestPlan load(InputStream xmlFile) {
        ...
    }

    public OutputStream save(TestPlan testPlan) {
        ...
    }
}


这样,根据DRY principle,不会在方法名称中不必要地重复TestPlanXML

但是,如果类处理多种类型,则load方法需要具有不同的名称,因为不能仅在返回类型上重载方法。 save可以很好地重载不同类型的参数,但是为了保持一致性,应为两者使用相同的命名约定。

10-08 20:18