当你需要开发一个大型的库或者实用工具的时候,熟悉一些设计模式是必要的,也是有益的,网上很多人对设计模式这个东西展开了一些辩论,我不是做传统的软件工程出生的,但是我还是觉得设计模式不必像有些人评价的那样一文不值,它有它的可取之处,至少在C++这个层次它还有有一些指导意见的。
在不同的阶段,通读了好几遍四人帮的《设计模式》这本书;书读百遍,其义自现是真理,但是前提最好是在你通读第二遍的时候你对应的工程经验要比通读第一遍时有所长进,这样你在读第N+1遍的时候才能比你在读第N遍时有更多更深的感悟。
在我看来,设计模式是一本最好理解之后就可以抛诸脑后的书,如果你真的看懂了的话。
不管是创建型还是结构性还是行为性,我觉得只要你真正理解了bridge模式的深刻内涵,并能够对其举一反三,其实其它的很多模式你都不用去看了,看一眼它的结构图就会知道它要说什么。
对
asic验证来说,能用到设计模式来开发env或者testcase的地方不多。
但是,如果你有志来阅读UVM的库的源代码的话,设计模式是你必须要知道的,至少你需要知道如下几个模式:
factory 模式
proxy 模式
observer 模式
而且你最好知道C++中函数对象的概念。