我很好奇其他商店在基础应用程序框架方面做了些什么?我将应用程序框架视为能够提供额外的或扩展的功能,以提高从中构建的应用程序的质量。
有各种开箱即用的框架,例如Spring(或Spring.NET)等。我发现这些问题的最大问题在于它们不是单点菜单。基本上,它们具有太多功能,除非每个功能都是最佳实现,否则您最终可能会使用多个框架的拼凑来完成这些任务 - 导致膨胀和混乱。在我看来,这适用于免费和商业系统。
当然,写作主要是重新发明轮子。但是,我不认为这是没有价值的,因为它提供了最可定制的选项。然而,有些事情太大而无法发展,而且在这种情况下似乎执行不力或根本没有实施,因为他们不愿意承担开发的前期成本。
有很多种开源项目可以解决可能的应用程序框架的各个部分。这些可以被采用或同化(显然取决于许可协议),以帮助构建来自不同来源的综合框架。
我们通过查看整个企业中我们的应用程序中的一些较大问题来处理这种情况,并提出了一系列有效的跨领域问题和反复出现的实施问题。最后,我们提出了部分开源的混合解决方案,部分基于现有的开源选项,并部分定制开发。
我们框架中的一些事例:
我们也直接采用了其他一些功能。例如,我们将PostSharp用于AOP,moq用于模拟,autofaq用于DI。
只是想知道其他人可能做了什么以及您的框架解决了哪些问题,而您没有找到您满意的工具?至于我们的经验,我们肯定会从新框架中获益,并对我们采取的方法感到满意。
答案 0 :(得分:1)
我的简单建议是使用适合您需求的框架。当然,为了做到这一点,你必须事先试验并知道你在寻找什么。即使框架提供的内容远远超过您的需求,但这个成本是多少?对于普通问题,罐子里的成本只有几个额外的Mbs,我认为对于大多数项目来说都是可以的。
最后,您应该选择一个能够正确完成工作的框架,以便您专注于提供用户价值并简化开发人员的维护。当然,没有一个框架可以解决每个人的问题,但是有一些框架可以达到他们的目标。这一切都是为了达成最佳妥协。
答案 1 :(得分:1)
我们的方法是将整个建筑师团队(即“Technical Architects”)用于:
无论采用何种方法,都需要对这些框架进行详细记录(至少使用完整的public API),并且需要对其发布进行广泛宣传:
由于所有团队都将基于这些框架开展工作,因此他们需要尽快升级他们的框架版本,以便建立自己的交付。