接口,继承,多态。能组成无数种设计模式。我不知道语言设计者,是**先**遇见设计模式的瓶颈,然后创造出这种(接口,继承,多态)特性。还是**先**创造出这种特性,经然后过大神的手归纳了设计模式。但是无论他们的先后关系是如何,其实都不重要。。如果把设计模式看成是一种算法。灵活运用接口,继承,多态就能写出数十种设计模式。试想下,如果再增加一种语言特性。设计模式(算法)的数量一定会成倍的增加。
平常中使用语言特性,要比使用算法要多,灵活运用特性本身基本能满足程序设计需求。大神我想问下,掌握设计模式,只需要掌握合理运用接口,继承,多态就行了。掌握算法,我们需要掌握合理运用什么
很惶恐,我并不是大神,只是以码代码为职业,以码字为兴趣的俗人。我觉得经典算法的存在就像是菜谱或者武功秘籍一样的东西,一开始可以指引我们模仿,学习;接着可以让人领会编程更深层次的设计和技巧;最后是为了被新的算法新的技巧超越。所以我觉得学习算法应该尽量去关注和理解它背后的初衷和局限,是解决什么样的问题,怎样解决的,解决得怎么样。这样无论是要应用到适当的地方,还是为解决新的问题做参考,还是要设计更好的算法,都有章可循。