读书人

怎么封装一个完整系统未来还可以替换

发布时间: 2012-03-15 11:50:39 作者: rapoo

如何封装一个完整系统,未来还可以替换为另外一个系统
我有一个系统,里面有很多层次的继承。然后需要把这个系统封装起来,但未来这个系统又可能被替换为其它系统。
我该如何设计?

我现在想的是加一个中间的抽象系统,用抽象类完全模仿出原系统所有重要的接口和类层次关系,有点像bridge,但更复杂。
可是因为原系统太多层次的继承,用C++实现起来很麻烦,代码阅读也很麻烦。
大家有什么好建议吗?

[解决办法]
系统对外接口一致
[解决办法]
借鉴一下COM
[解决办法]
最重要的是先要搞清楚整个系统对外的接口是什么。
系统内部究竟是1000个还是10000各类都不重要,因为系统对外的接口一定是有限的(如果系统对外接口有1000个,那只能说系统设计的有问题了。除非系统真的是大的不得了)。
先使用一个Facade模式将系统整体封装好,然后把Facade的实现abstract出来,定义成接口。

这样将来就可以完成替换了
[解决办法]
注意接口稳定就可以了

读书人网 >C++

热点推荐