眼中没有设计模式,代码里就找不到设计模式

几年前还在搞c开发,觉得设计模式离我太遥远,而且觉得设计模式太复杂太高大上,比较恐惧。

后来接触了oopc(接触了rtthread整个都是oopc实现的rtos),再后来接触了c++/python。

在这一过程,零零散散的看过大话设计模式什么的,但是总是思想上畏惧,还是觉得高大上还是很排斥。

后续陆陆续续接触了c++开源项目代码,结合设计模式,发现了它们在项目中的实现。

才明白,设计模式也不是那么高大上——原来c开发的代码框架上就用了——比如单例模式,模板模式等,只是当时头脑中没有所谓的“设计模式”的概念,这些代码放到我眼前,我也看不见。

所以设计模式也不局限于什么语言中。

在这一过程中,都是先学了设计模式,才能在代码里找到。

有时候会自己想一想,设计模式哪来的?会不会是先有代码,再有某某设计模式?代码是对事物的第一层抽象,设计模式又是对代码的第二层抽象。——碰到这样的事物/问题,用这样一套形式的代码来解决——人类积攒的代码形式(套路)上的解决方案,称之为“设计模式”。

所以眼中没有设计模式,代码里你就看不到设计模式。但是一旦你脑海中有了设计模式的概念(套路),那么在代码里就能找到设计模式(不局限于语言,c怎么了?c也可以!)

所以说,不是说必须面向对象语言才能学设计模式,它不局限于语言,它也是个套路解决方案。

会了设计模式,就是代码套路,那么用什么语言都可以实现。——它泛化成了思想。

07-12 14:37