我想知道为什么您决定在公司中建立自己的框架。
就框架而言,我并不是说您经常使用几个库。我的意思是使用基类,约定等在其之上构建应用程序的特定方式。
那么,为什么要构建自己的框架?您怎么能证明雇用您的人的正当性。您是否衡量了它的正面和负面影响?
关于您的经验,您是否注意到在某种情况下公司框架产生了实实在在的利益,或者另一方面却增加了开发成本(学习曲线,调试,维护等)?
我想知道为什么您决定在公司中建立自己的框架。
就框架而言,我并不是说您经常使用几个库。我的意思是使用基类,约定等在其之上构建应用程序的特定方式。
那么,为什么要构建自己的框架?您怎么能证明雇用您的人的正当性。您是否衡量了它的正面和负面影响?
关于您的经验,您是否注意到在某种情况下公司框架产生了实实在在的利益,或者另一方面却增加了开发成本(学习曲线,调试,维护等)?
Answers:
回答原因:
更新:
企业更喜欢重新发明轮子,而不是使用“小型”框架。简而言之,我指的是未来可能不确定的框架。例如,.NET框架比小社区创建的框架更安全地为企业选择。企业需要安全性,因为它们的许多应用程序对业务至关重要,而且使用寿命长。在短期内,重新设计轮子的成本可能更高。但是,如果不赞成使用公司应用程序中使用的框架并且不再支持它,或者更改了许可证,则成本可能更高。在此,该公司可能不得不放弃当前的框架,并加入另一个框架。Visual Basic是Microsoft不再支持的语言的一个很好的例子。这使公司损失了数十亿美元,因为他们必须重新开始新的发展。
为什么要建立自己的?
为什么不建立自己的?
在我的文章中,什么时候应该重新发明轮子,我列出了重新实现的许多优点。我认为这些优点特别适用于框架库。例如,通常不可能在应用程序的一小部分中隔离对框架库的使用。取而代之的是,它们倾向于决定客户端源代码的结构,因此希望对库进行完全控制。
基本上,当您使用他人的工作时,会将他们添加为无形的雇主或“额外的手”。
如果他们很好,他们将为您提供帮助。如果没有,您除了自己之外还必须做他们的工作-换句话说,要维护他们的代码。这可能是不可接受的风险,但是我认为它非常罕见。
关键字是通过对接口进行编码来使框架可交换。Java世界中最严格的接口是Sun规范,该规范已由Servlet API证明。
那么我不会考虑没有使用框架的任何理由。
我做了几次,以满足现有框架未涵盖的要求(当时)。
在大多数情况下,这些本地框架后来都被更新的,完整的框架删除。例如,在2000年,我创建了一个Java Web框架,在某些方面可与Rails媲美,用于创建具有多种形式的复杂订单输入系统。它运行良好,但是当然,几年后,更成熟的框架(如Struts和JSF)使其过时了。但是在那时,这是正确的事情,效果很好,并且开发速度令人印象深刻。
我开发的另一个框架仍在使用中(并且还在积极开发中)。第一版于2004年编写。该版本主要用于内部物流应用程序。使用它的公司仍然将其视为一项特色。创建它的主要原因是简化了为移动条形码扫描器创建数据库连接的应用程序的过程(运行某种Windows CE);它工作得很好,老板决定也将相同的概念用于PC软件,而且,他们仍然对此感到满意。