我有 3 家汽车租赁公司。每个机构都需要 XML 格式的数据,但格式不同,例如:
机构 1
<Rental>
<Customer>
<FirstName>test</FirstName>
<LastName>test</LastName>
</Customer>
<Pickup date="07/20/2012"/>
<Dropoff date="07/25/2012"/>
<Deposit cost="100"/>
</Rental>
机构 2
<Rental>
<Customer>
<FirstName>test</FirstName>
<LastName>test</LastName>
</Customer>
<Pickup>07/20/2012</Pickup>
<Dropoff>07/25/2012</Dropoff>
<Deposit>100</Deposit>
</Rental>
机构 3
<Rental pickup="07/20/2012" dropoff="07/25/2012" deposit="100">
<Customer>
<FirstName>test</FirstName>
<LastName>test</LastName>
</Customer>
</Rental>
正如你从上面看到的,所有 3 个基本上都包含相同的信息,尽管不一定是这种情况(有些可能包含或多或少的信息),但它的结构不同,所以我访问它的方式不同。最好的方法是什么,以便我可以编写最少的代码,但能够适应具有不同结构的新租赁机构?
现在,我正在做这样的事情:
public class Agency1
{
SubmitRental()
{
//Parse XML for Agency 1
}
//Other methods for agency 1
}
public class Agency2
{
SubmitRental()
{
//Parse XML for Agency 2
}
//Other methods for agency 2
}
public class Agency3
{
SubmitRental()
{
//Parse XML for Agency 3
}
//Other methods for agency 3
}
在上面,类包含相同的方法,但它们的实现方式不同。有些类中有一些方法、属性等,而另一些类中没有。接口是解决这个问题的最佳方法吗?如果是这样,是否应该将所有内容都设为接口?
在上面的 XML 示例中,数据是相同的,但格式不同,这导致一些人提出将所有不同的格式映射到一组通用类,但是不只是格式不同的场景呢,但数据也不同?