我想问一下,如果我们想要修改或扩展现有jquery小部件的一部分(比如datepicker,数据表),最好的方法是什么?
我不确定是否可以应用某种继承概念,或者如果修改原始概念会不会很好?
答案 0 :(得分:0)
回答这个问题的最重要因素是你未来的期望/要求是什么。
由于您的疑问是关于并非专门设计用于扩展的模块,因此他们不会遵守支持此类使用的规则。这意味着未来的版本可能会改变从内部行为一直到方法/行为/事件名称的任何内容。
如果您选择修改现有代码或通过继承扩展它,只要您不关心将来的版本,那就没什么区别了。选择更简单的路线(当然考虑所有法律问题)。
如果您确实关心将来的版本,那么选择基于继承的解决方案可能很诱人,以便将来对继承模块的更新可能是透明的"延伸,但风险所在。如果你不强迫自己全面审查改变了什么,你就永远不知道事情是否仍然按照你的意图行事。
另一方面,选择修改现有代码意味着任何未来版本都需要重新进行相同的修改,但它会强制您验证它是否合理。