先谈下设计需求.一个可扩展的程序很多地方都希望是可以替换或者是可以扩展的.比如一个游戏引擎,希望渲染部分能够在D3D和OpenGL之间替换,希望shader部分能够在cg,hlsl,glsl之间切换,希望音频部分能够在DS3D和OpenAL之间切换,希望可以选择性的获得读取普通文件和读取zip或者其他输入流的能力,希望能够读取各种不同的模型文件格式的能力--而且这些都不必改变上层接口.
现在以"选择性的获得读取普通文件和读取zip或者其他输入流的能力"为例子来看看如果利用建立dll插件的方法来实现这一功能.
显然,我们是要构架一个文件系统.首先看看文件需要支持哪些功能:
抽象工厂模式实现的dll插件功能.
最新推荐文章于 2022-01-02 21:40:12 发布