0

我参与构建提供金融、非金融移动服务的框架。

我们使用的底层技术是 Spring 3.2 框架,尤其是 Spring MVC。

现在 Spring MVC 通过注解的方式提供了许多功能。例如,创建控制器只需使用@Controller注解注解类即可。除此之外,还有更多的东西,如处理程序、适配器、异常解析器。

我的问题是。因为我已经利用了 Spring 框架,并且我知道如何使用 Spring 框架或通过可用的挂钩点进行自定义。我可能已经这样做了,但是我的框架用户呢。

我是否应该在 Spring 的上述产品上创建包装器,以便我的框架用户不需要了解或学习 Spring 框架?

例如,Spring 提供了注册异常处理程序以处理异常的灵活性,但为此我们需要为所需的异常处理程序创建 bean 条目,并且需要在异常解析器类中注册,他的工作是深入研究 Spring 细节以了解它们是如何提供的异常处理程序和所有这些东西。

他需要做的和我已经做的完全一样。

而不是我应该提供一些规定,以便用户可以为其异常处理程序定义 bean 条目并将其注册到我的框架提供的注册表中,而不是在 Spring 提供的 bean 类中?

4

2 回答 2

0

你不应该试图隐藏 Spring。

无论你怎么努力,你的抽象都会泄漏,然后 API 用户无论如何都需要了解 Spring。

请参阅http://www.joelonsoftware.com/articles/LeakyAbstractions.html

于 2013-04-09T13:35:16.597 回答
0

Spring 已经提供了所有这些特性,被广泛使用,有据可查,拥有蓬勃发展的社区等。

您应该直接公开它们,以便您的框架的用户可以轻松地适应您的框架。

于 2013-04-09T11:38:02.230 回答