我知道这是一个略带修辞的问题,但我希望听到支持或拒绝这一学说的意见,因为它将帮助我在我的请求中建立一个更好的案例,不使用口述的解决方案。
一点背景:我开发并维护一个大型,成熟的应用程序(UI的VFP,中间和后端的Oracle PL / SQL),内部使用严格。我已经要求我的上级重新编写C#中的UI,但我被告知所有未来的开发工作都要在Java / Spring中完成。我已经解释过,从桌面应用程序到Web应用程序的工作量远远大于简单地迁移到C#。我还解释了整个UI如何进行重大的重新设计以转换到Web浏览器。最后,我解释说这个应用程序仅在内部使用,因此与外部应用程序将获得的好处相比,实现Web架构不会带来太多好处。不幸的是,我的论点没有动摇他们。
我的一部分很想投降并尝试用Java重写,这样我就可以获得经验,但我担心这可能是一个项目的灾难,需要花费四倍于迁移到C#的时间和精力必需的。
我知道让一个部门只支持一种语言会有好处,但对我而言,感觉就好像我们正试图用锤子驱动螺钉。
那么,对于所有开发工作,使用单一解决方案的公司的积极和消极是什么?此外,是否有其他人发现自己处于类似的情况,尽管有这种选择的所有实际原因,他们的选择语言被拒绝了?
答案 0 :(得分:2)
公平地说,所说的问题是一个稻草人的论点。当然,如果我们从字面上理解“无论成本”条件,答案就是不。
编辑:OP删除了“无论成本”的措辞,我的其余答案仍应适用。
尽管如此,通常强制执行单一架构的原因是为了节省成本。他们希望每个人都投入到这个架构中。如果该架构适合他们处理的大多数问题,这可以降低其成本。那么问题就变成了:执行架构的节省是否值得偶尔使用它来解决不合适的问题?
在许多情况下,答案仍然是否定的,但不是黑白分明,这取决于贵公司的业务,核心竞争力所处的位置以及他们真正感兴趣的项目。
答案 1 :(得分:1)
我同意你和Rob Wells的说法,强制执行单一架构原则是一个坏主意。在这种情况下唯一可行的方法是对每个解决方案的成本进行分析(Java Vs. C#),并使用实际数字和确凿证据向他们进行演示。您还可以尝试查看是否有任何案例研究。如果它们不可用,您可能想看看是否有其他公司做过类似的事情,研究其影响并用它来说服您的管理层。也就是说,这可能比编写Java(Kidding :))更多的工作。祝你管理层好运,祝你好运。
答案 2 :(得分:0)
没有
这就像去一位只能使用混凝土的建筑师。
您只能将单个解决方案叠加到所有问题空间。
编辑:请注意,很难说服任何管理层认为有价值的投资回报率来自重写成熟系统。
答案 3 :(得分:0)
通常不会强制使用体系结构来使一个项目团队的生活更轻松,因此除非您使用Java / Spring,否则它将为您带来一些成本。
Java和webapps的选择不一定只是一种语言。
公司可能要求单一架构的原因有很多。您需要了解公司为什么这样做的原因以及公司的价值。
这样做的原因可能包括
因此,采用该架构既有好处,也有成本。您需要表明您至少了解其中的好处,并且可以说明为什么在这个项目中使用您的首选语言具有公司意义。
为什么你认为这将是一场灾难?是什么让Java非常适合重写?你需要小心,你不会因为有一种最喜欢的语言,只是一些你还不知道的坏话而过来。
答案 4 :(得分:0)
如果考虑维护成本,限制“制裁”架构的选择是有意义的。它使人们甚至整个团队在项目之间移动变得更加容易。