昨天我去上英语课,遇到了新朋友,他跟我说他所做的工作(现在我仍然在学校学习)。
在他的公司中,客户对他们的项目有很多要求,如果你使用框架,但没有理解所有的组件或类似的东西,你会遇到源代码的问题,而你没有修复它,因为它是由另一个组件构建的。而垫子为你支付了钱来开发他们的项目,你必须自己完成它,如果发生错误,你将修复它。但是,如果您使用框架,您可以修复或不修复,它是您的50/50 %。
我想知道他说的话。你能帮我选择最好的方法吗?框架还是不框架?
我们有很多种客户,我们必须使用一些技术,比如struts/ hibernate/Spring/或者on...if,在我们完成项目这么长的时间内,我们不使用框架,但是如果使用它,我不相信它的所有组件我都能理解。
谢谢你的建议!
发布于 2011-01-15 12:07:30
·我应该在我的项目中使用现有的框架吗?
是的,一般来说你应该这么做。这些框架的创建者已经为它们投入了大量的工作,以使它们更好,许多其他人也使用这些框架。这意味着代码在实践中得到了很好的测试。当您编写自己的代码时,只有您和您的团队会对其进行测试。
·如果框架中存在bug,我如何才能修复它们?
好问题,我现在不知道答案。很可能您会编写一些自己的代码来解决这个问题,比如一个小型包装类。
·我必须先了解完整的框架才能使用它们吗?
不,你没有。有些框架很大,涵盖了软件开发的各个方面。在大多数情况下,你只需要学习你真正想做的事情,还有更多。但不是每个细节。
·当我使用一个框架时,这是不是作弊,因为我的客户想让我开发软件?
不,不是。你的客户并不是真的想让你做很多工作,他更希望他的项目能够完成和完成。这意味着,如果你能做更少的工作,并从别人的工作中获利,这通常是好的。
·我们必须与第三方产品合作,比如Structs/Hibernate/Spring,如果我们被迫自己实现这些产品,这些项目将需要很长时间。
您真的不想实现Spring、Hibernate和Struts已经解决的所有问题。因此,请使用这些框架,并为其他人所做的工作感到高兴。你会节省很多年的时间。
发布于 2011-01-15 07:24:59
有许多因素需要考虑:
框架是商业化的吗?如果是这样的话,该框架是否有一个响应性支持团队,能够提供演示、文档、咨询、“工作范围”和热点修复?你能购买源代码来做任何你需要的调整吗?(是否值得额外增加访问源的权限,并且可以重新分发修改过的副本?)
框架是“开源”吗?如果是这样的话,该框架是否有一个响应论坛或邮件列表,可以提供问题的答案?是否有有报酬的顾问或承包商?文件好吗?该框架是否很受欢迎,是否得到维护?你能根据需要应用热修复吗?
学习框架需要多少“时间”?是否需要使用特殊的公约?使用框架是否会导致某些与未来需求不兼容的锁定?
等等
这一切都导致:使用该框架最终会使工作更有效率吗?
发布于 2011-01-15 10:45:27
我认为这取决于项目的规模。如果您在一个小项目中工作,那么使用框架可能是胡说八道,因为您的工作效率会降低。相反,如果你在一个大项目中工作,这个框架可以帮助你很多。
例如,在Hibernate的情况下,如果您在一个有三个或四个对象/表的项目中工作,那么使用它可能是胡说八道,因为使用JDBC可能要容易得多,甚至软件也会运行得更快。但是,如果您正在使用JDBC处理对象/表的文档的项目,那么hibernate会给您很大的帮助。与简化开发带来的巨大好处相比,您在框架配置中的松散时间很小。
根据框架中可能出现的bug,重要的是要使用一个具有良好支持和良好社区的框架,它可以帮助您解决问题。另外,如果您使用开源框架,您可以尝试解决bug,添加一个新特性,或者修改现有特性,以满足您的项目需求。
https://stackoverflow.com/questions/4698459
复制相似问题