我有一些与框架依赖相关的问题。一般来说,最佳编码实践表明不要用特定于框架的代码来混淆你的命名空间。例如,在 spring 的情况下,所有依赖项都应该在配置文件中维护,并且您的应用程序代码中没有特定于 spring 的代码(这是首选 spring config xml 文件而不是 spring 注释的原因之一)。同样,对于 puremvc,最好不要在 mxml 中混合 puremvc 代码,因此您的视图可以与任何框架一起使用。但我的问题是
如果我们在不替换任何其他框架的情况下从您的代码中删除 spring 或 puremvc,那么您最终会遇到几个 bean(在 spring 的情况下)或一些真正可重用的视图(在 puremvc 的情况下)。但是粘合bean或视图需要大量的编码工作,据我说它间接依赖于框架而不使用框架特定的api。
如果我们用 pico 容器等其他 DI 框架替换 spring,那么它也需要大量或返工。这再次导致对框架的间接依赖。
那么,为什么用特定于框架的 api 来混淆我们的应用程序命名空间是不好的呢?只是我们可以为特定于框架的 api 编码(如果它真的大大减轻了我们的编码工作量)。
据我说,只是不将应用程序命名空间与特定于框架的 api 混合并不能使您的应用程序可移植到其他框架。想想你是否想用 spring mvc 移动你现有的精心设计的 struts 应用程序,以及这样做需要付出多少努力。
期待其他读者的观点。