双向自由升级的详细说明

 
假设companyA向外发布了一个处理机procA,procA支持两种数据,dataA和dataB。而且procA的真正实现implA放入一个proca.dll中。(把procA看作一个接口,能更好的理解procA和implA的关系,但procA不是接口。)如果这个procA已被好多家其它的公司使用。
 
有一天companyA发现procA有必要添加对dataC的支持,那么companyA就可以在implA中添加对dataC的处理,并把dataC和新的proca.dll向外发步,而不用对那些已经使用了前一个procA的公司的程序担心,兼容问题。
 
上面说的是处理机提供方的自由升级,下面来说一说使用方的自由升级。
假设有一天,使用procA的一家公司companyB觉的有必要添加一种数据dataE让处理机procA处理。那么companyB就可以添加一种dataE传给procA来处理。因为procA能接受dataE。所以companyB针对新数据dataE的编程,调试,测试就都可以进行。同时companyB可以通知companyA,请求升级处理机procA。这样两家公司就可以并行工作。
可是如果因为companyA很牛,戓者其它的什么原因最终没有完成procA对dataE支持的升级。那么companyB怎么办呀?
在这种情况下,匹配器就能帮上companyB的大忙。companyB可以针对dataE对procA的匹配器进行<<和>>进行重载。以做出和procA支持dataE一样的效果来。companyB就可以慢慢的等待companyA对prcoA的升级了。即使companyA的升级永远不完成也没有关系。
 
 

 感谢前几位朋友的留言。你们的留言对我帮助很大,鼓舞很大。

希望新来的朋友们也能不吝指教。

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1507209


你可能感兴趣的:(升级)