为什么要学设计模式
设计模式是实际上将类,对象,继承,多态,抽象类,接口这一系列东西系统运用起来的学科,尽管它的名字听起来像是什么美工人员或者产品经理才需要学习的东西。
不得不承认,当你第一次接触JAVA中的抽象类和接口的时候,你心中会想,这是什么东西,这种里面都是空的东西能有什么用?无论你的JAVA书怎么苦口婆心的诉说它们是多么重要,罗列出多少理由讲述它们的作用,你都会心存疑虑,并且这种疑虑将会存在不短的时间,毕竟这些东西在你做ACM时很少有机会会用到。
为什么除了普通类还要有抽象类这种东西,为什么除了抽象类还要有接口这种东西,为什么要有接口而不是其他的什么东西?这些东西究竟有什么卵用?
要将这些东西描述清楚实际上是一个很大的工程,不可能塞在你的JAVA书的某一章的课后小结里,你的JAVA书已经很累了,他除了这还要跟你讲清楚循环,选择,输入输出,能跟你讲清楚抽象类和接口分别是什么已经很不容易,再要跟你讲清楚讲得十分清楚它们有什么用实在超出了他的能力范围和篇幅。实际上,将这写东西讲清楚就是一本新的书籍,他的作者又可以拿着新的书籍去出版赚钱,所以,你不可能在一本书里读懂那么多东西,你怀疑抽象类或者接口的存在价值并不是因为你的理解能力差或者学习不够认真,而是你需要这样一本书,《设计模式》。
这是这样一本书,他将类,抽象类,接口等等运用得出神入化,用人们多年以来的开发经验将他们艺术般的组合在一起,让一切变得清晰,简洁,效率更高。通过他来了解真正的面向对象设计并拓展,他让你认为你曾经认识的JAVA变成一门你从未见过的全新语言。你知道从面向过程编程到面向对象编程是巨大进步这一历史史实,他会形象但的让你见识到这一进步是多么伟大,他是使编程艺术化的入门。
将他抬高到太高的地位似乎没什么必要,但它的确是是很多人很多年以来的经验智慧的总结,教你怎样更高效的来玩耍代码,使原来单一的代码模式变得有趣,漂亮。
熟悉设计模式同样能提高你和同行的交流效率,他的唯一缺点就是,作为一个JAVA程序员的必修项目名字起的却像什么美工人员或者产品经理才需要学习的东西,不得不再吐槽一次。