我很好奇其他商店在基本应用程序框架方面做了什么?我认为应用程序框架能够提供额外或扩展的功能,以提高从它构建的应用程序的质量。
有多种开箱即用的框架,例如 Spring(或 Spring.NET)等。我发现这些框架最大的问题是它们不是点菜式的。基本上,它们具有太多功能,除非该功能的每一个部分都是可用的最佳实现,否则您最终可能会使用多个框架的拼凑来完成这些任务 - 导致膨胀和困惑。在我看来,这适用于免费和商业系统。
当然,写作在很大程度上是在重新发明轮子。不过,我不认为它没有优点,因为它提供了最可定制的选项。但是,有些东西太大而无法开发,并且在这种情况下似乎实现不佳或根本没有实现,因为犹豫是否承担开发的前期成本。
有各种各样的开源项目也可以解决可能成为应用程序框架的各个部分。这些可以被采用或吸收(显然取决于许可协议(protocol))以帮助构建来自不同来源的综合框架。
我们通过查看整个企业的应用程序中的一些更大的关注点来解决这种情况,并提出了有效的横切关注点和反复出现的实现问题的列表。最后,我们提出了部分开源、部分基于现有开源选项、部分自定义开发的混合解决方案。
我们框架中的一些示例:
我们还完全采用了其他一些功能。例如,我们将 PostSharp 用于 AOP,moq 用于模拟,autofaq 用于 DI。
只是想知道其他人可能做了什么,以及您的框架解决了哪些您没有找到令您满意的工具的问题?至于我们的经验,我们肯定会从新框架中获益,并对我们采取的方法感到满意。
最佳答案
我们的方法是投入整个架构师团队(即“Technical Architects”):
无论采用哪种方法,这些框架都需要有很好的文档记录(至少有完整的 public API ),并且需要很好地宣传它们的发布:
由于所有团队的工作都基于这些框架,他们需要尽快升级他们的框架版本,以便构建自己的交付。
关于language-agnostic - 应用程序框架 - 购买、构建还是吸收?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/347606/