我正在编写一套java类,它们将根据应用程序生成的信息执行网络请求。很可能将来会有几种这样的套件--向其他平台/客户机/合作伙伴等发送某些数据。这些套件的输入将是同一组数据(将从我们的应用程序的集成点提供,我对此没有控制权),但这些输入将在之前转换为不同的数据对象从这些数据对象创建请求。
伪代码行示例
list(inputoobjects)--->transformator-->list(requestdtos)--->requestcreator(创建并发送基于dtos的请求列表)。
我想鼓励未来的程序员对所有其他套件使用相同的格式。以便于将来理解和维护。
所以我想为“transformator”和“requestcreator”定义接口/抽象类等。为requestdto声明抽象超类,然后让不同的套件对其进行扩展是很容易的。但问题是requestdto实际上可能有完全不同的字段,没有共享的内容。因此,在这种情况下,可以创建和抽象没有成员的超类。我不太喜欢这个主意。
使用注解或标记(空)接口标记requestdto是个好主意吗?
或者我可以将转换编写为提供未指定的集合作为返回类型,让创建者接受类似的输入吗?
我不喜欢后一种想法——我认为应该使用object作为collection元素类型,因为尝试为元素创建泛型会导致问题,即它们可能没有太多共同点,除了流程流中的某个“元”逻辑位置之外,我希望代码的未来用户能够立即识别)
还有其他想法吗?
暂无答案!
目前还没有任何答案,快来回答吧!