作为一个图形图像方向的研究生,我经常都在和 OpenGL .OpenCV 等多种 C++ 库打交道.这些库遵循着不同的规则和用法:另外,为了让自己的程序具有更多的交互能力,编写界面也是一个家常便饭的工作. 然而,随着工程复杂性的增加,库的管理和界面的维护也变得越来越困难:一方面,库的增加和删除不仅会增加学习成本,也会对系统的逻辑层带来影响.而另一方面,如果要让自己的项目易于维护,就要尽可能地应用设计模式,让逻辑和界面分离.但对于科研,一味陷入设计模式的桎梏又会带来过早优化的问题,影响科研进度.…