在解析某些xml文件时,我遇到了这样一种情况:我必须使用接口作为标签来识别某些标记属于某些类别,例如,我创建了一个Tag接口来标识这些类用于表示xml标记,以及ContainableTag来指出某些标记可以成为某些标记的子标记之一。
然后我遇到了这个页面:http://xahlee.org/java-a-day/interface.html(请查找“Interface as Labels”部分)。它说:
引述:
然后我遇到了这个页面:http://xahlee.org/java-a-day/interface.html(请查找“Interface as Labels”部分)。它说:
引述:
问题的要点是,它在语言中是数学上的无关性。作为语言中的标签机制,出于软件工程的可能好处,它不应该被设计为Class Interface的一部分,因为标签和编程接口的概念在语义上是不同的。
那么,将接口作为标签一定是一种不好的实践吗?作为Java程序员,我们是否有其他选择?