首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用过多ASP.NET样板库/代码的.NET项目

使用过多ASP.NET样板库/代码的.NET项目
EN

Software Engineering用户
提问于 2017-09-03 03:06:54
回答 3查看 3.9K关注 0票数 3

我对许多人似乎对使用微软框架的痴迷感到非常困惑。我已经看到了一些教程和项目(包括开放的和封闭的源代码),这些教程和项目似乎在不需要额外的.NET框架库和代码时使用它们。明确地说,我不是在谈论系统中的类或类似的东西,而是指诸如ASP.NET标识(和以前的迭代)、OWIN、实体框架、MVC框架等完整的框架。

在100+页面的内容上,我看到了一些东西,比如实体框架/ ASP.NET标识,这让我感到畏缩,因为这些库在代码和数据库中引入的开销非常容易,而创建自己的干净灵活的解决方案却没有膨胀。我嘲笑OWIN实际上被任何严肃的商业应用程序所使用;你为什么要使用社交媒体登录到任何被认为是远程安全的东西?这些框架只能对小型(即3-5页)的应用程序有用,而这些应用程序对企业来说并不重要或至关重要。我很难想象主要的软件公司或业务在他们的企业软件中使用这些框架(可能仅仅是MVC框架,因为Razor/view引擎组件)。

当这些框架只是在项目中引入臃肿、复杂和过度设计的代码时,使用这些框架有什么意义呢?我可能遗漏了一些东西,但是如果我用几天的时间用默认类编写一个完整的数据库ORM结构和登录逻辑--相对于使用Microsoft框架,它更轻、更快、更灵活--为什么不呢?看起来,像实体和身份这样的东西只会将复杂和过度的工程引入到一些简单的分析、远见和设计模式实现中很容易解决的问题中。你们中有谁在自己的项目或企业级项目中实际使用这些框架吗?

编辑:

我想为未来的读者稍微澄清一下自己。我不是说“重写所有实体/OWIN/Identity(或X框架)”,而是想一想,如果您真的需要这些框架引入的所有附加代码/依赖项。如果您有所有与X框架交互的100+页面(无论它是实体还是其他什么),请考虑有多少依赖和耦合。如果您使用第三方库(例如HTML/标记控件、ORM结构、CSS/JS框架等)当您必须更新到一个主要版本更改或另一个供应商时,您就会明白我的意思。即使是最好的解耦抽象有时也救不了你。

EN

回答 3

Software Engineering用户

发布于 2017-09-03 10:17:00

是的,我工作过的大多数地方都使用过其中的一些图书馆。

很容易将它们看作是膨胀,我不喜欢实体框架,并且倾向于“使用”我的存储库。

但是,实际上,微软的库写得很好,而且常常很复杂,因为它们处理的东西你还没有想到,或者还不需要。

任何与安全有关的事情都是如此。

当然,另一个因素是节省时间。为什么要花时间写一些你可以免费拥有的东西呢?

此外,它使整个行业的一致性,使招聘更容易。我可以找到100个了解实体框架的开发人员,但只有一个人聪明到足以理解Ewan框架v9000的天才

票数 7
EN

Software Engineering用户

发布于 2017-09-03 10:42:20

与手工滚动解决方案相比,使用框架的目的是节省工作和降低风险。与一般框架相比,手工滚动的自定义解决方案可能更专注,并且“不那么臃肿”,但它也会:

  • 有更多的bugs -只有你才能修复
  • 有更糟糕的文档,没有书籍或教程等。
  • 你不能在谷歌上搜索常见问题的解决方案。
  • 你不能雇用已经知道框架的人,而且雇用有能力的开发人员会更加困难。
  • 开发人员将不愿意投入太多的时间来学习您惊人的框架,因为投资将不会帮助他们在未来。
  • 如果你离开公司或被公共汽车撞到,生意就会被毁,你的老板也会被解雇。
票数 5
EN

Software Engineering用户

发布于 2018-01-29 11:32:25

和生活中的大多数事情一样,尤其是软件开发,这是一种取舍。许多你不需要并且不理解的东西(甚至是它存在的原因)被包括在即使是最小的项目中,作为正确完成标准事情的代价,并且有一个庞大的开发人员社区,他们熟悉环境和框架,以及如何在其中工作。

至少,根据其迄今为止的记录,我们可以相信微软将长期支持其框架和开发工具,并尽可能保持向后兼容性。这与其他一些知名的IT公司不同,这些公司介绍产品,鼓励我们使用它们,几年后就完全放弃它们。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/356709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档