接口为 Java 开发人员提供了比具体类更大的灵活性。我是 Struts 2 框架的新手,我对 Struts 2 开发人员将
ActionSupport
创建为一个类的决定感到困惑。在我看来,它应该是一个接口。他们为什么这么做?
您应该阅读文档这里
为最常见的操作提供默认实现。有关更多详细信息,请参阅此类实现的所有接口的文档。
它实际上是接口
Action
的默认实现。因为它是一个实现,所以它不能是一个接口,因为接口是 100% 抽象的。
来自struts文档:
ActionSupport 类为最常见的操作提供默认实现。有关更多详细信息,请参阅该类实现的所有接口的文档。
http://struts.apache.org/2.1.2/struts2-core/apidocs/com/opensymphony/xwork2/ActionSupport.html
这完全是一个架构决策。
ActionSupport
在用户自己的操作中为用户提供了非常有用的资源,因此无需将其暴露在 API 内的其他位置。用户打算扩展 ActionSupport
以进行自己的操作以利用其资源。
Action
接口服从用户实现execute
方法,我们知道这是没有必要的。
Actions 是简单的 POJO,它们不需要扩展或实现某些东西。