与使用现有框架相比,何时构建自己的框架更有效?[关闭]


22

我想知道为什么您决定在公司中建立自己的框架。

就框架而言,我并不是说您经常使用几个库。我的意思是使用基类,约定等在其之上构建应用程序的特定方式。

那么,为什么要构建自己的框架?您怎么能证明雇用您的人的正当性。您是否衡量了它的正面和负面影响?

关于您的经验,您是否注意到在某种情况下公司框架产生了实实在在的利益,或者另一方面却增加了开发成本(学习曲线,调试,维护等)?


6
我没有决定。它本身就是创造出来的……
Mchl 2011年

Answers:


16

回答原因:

  • 许可问题
  • 当前框架中不存在的公司特定要求
  • 该公司希望控制框架的支持和维护
  • 建筑师并不了解!他/她不知道存在特定的框架,因此他们决定重新发明轮子。

更新:

企业更喜欢重新发明轮子,而不是使用“小型”框架。简而言之,我指的是未来可能不确定的框架。例如,.NET框架比小社区创建的框架更安全地为企业选择。企业需要安全性,因为它们的许多应用程序对业务至关重要,而且使用寿命长。在短期内,重新设计轮子的成本可能更高。但是,如果不赞成使用公司应用程序中使用的框架并且不再支持它,或者更改了许可证,则成本可能更高。在此,该公司可能不得不放弃当前的框架,并加入另一个框架。Visual Basic是Microsoft不再支持的语言的一个很好的例子。这使公司损失了数十亿美元,因为他们必须重新开始新的发展。


8

为什么要建立自己的?

  1. 因为它以前从未构建过(很少见,但仍有可能)
  2. 因为您想要完全控制。
  3. 因为您只需要一点点功能,所以您自己构建它会更便宜

为什么不建立自己的?

  1. 你没有时间这样做
  2. 如果购买现有框架,它可能会便宜很多
  3. 您可以节省大量时间并可以更快地提高生产率


3

重新发明轮子的唯一真正原因是,如果它是业务关键型应用程序。如果您的公司将使用一段时间。如果此应用程序/框架/等。可能会超出现有商业框架所能提供的范围,然后让公司编码人员使其实施当然可以接受。

唯一的真正原因是:

  1. 现有框架维护良好,完全适合您的任务,并且将来会很好。

  2. 这只是“ 未在这里发明 ”综合症的一种情况

  3. 您当前的设置将无法在合理的时间内以合理的成本成功创建此框架。

乔尔·斯波斯基(Joel Spolsky)就此事写了一篇非常好的文章:捍卫未发明的综合征


2

基本上,当您使用他人的工作时,会将他们添加为无形的雇主或“额外的手”。

如果他们很好,他们将为您提供帮助。如果没有,您除了自己之外还必须做他们的工作-换句话说,要维护他们的代码。这可能是不可接受的风险,但是我认为它非常罕见。

关键字是通过对接口进行编码来使框架可交换。Java世界中最严格的接口是Sun规范,该规范已由Servlet API证明。

那么我不会考虑没有使用框架的任何理由。


1
查看您采用的任何框架的开发过程都是有帮助的。具有强大社区性和开放流程的框架,风险低,尤其是如果它们附带源代码时(作为用户,您可以看到发生的一切并投票影响它)(我尽量避免使用无法构建的代码) )。在这种情况下,无需在框架周围开发其他包装。
Joeri Sebrechts

2

我们有一个相当成熟的框架可以在其中工作。这是一个摘要基金会框架

使用它的关键原因之一是稳定性。我们不希望Microsoft或其他任何供应商每年都在增加新功能和复杂性。

(我个人的观点,而不是我雇主的观点等)


2

我做了几次,以满足现有框架未涵盖的要求(当时)。

在大多数情况下,这些本地框架后来都被更新的,完整的框架删除。例如,在2000年,我创建了一个Java Web框架,在某些方面可与Rails媲美,用于创建具有多种形式的复杂订单输入系统。它运行良好,但是当然,几年后,更成熟的框架(如Struts和JSF)使其过时了。但是在那时,这是正确的事情,效果很好,并且开发速度令人印象深刻。

我开发的另一个框架仍在使用中(并且还在积极开发中)。第一版于2004年编写。该版本主要用于内部物流应用程序。使用它的公司仍然将其视为一项特色。创建它的主要原因是简化了为移动条形码扫描器创建数据库连接的应用程序的过程(运行某种Windows CE);它工作得很好,老板决定也将相同的概念用于PC软件,而且,他们仍然对此感到满意。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.