一种基于名字空间的复用技术

 我在前面的MCD当中已经讲过了两种复用的技术:静态复用技术和动态复用技术,两种都可以实现代码的无缝链接。现在我将向大家介绍一种新的软件复用技术:通过名字空间的复用技术。
 从本质上讲,以前的静态复用技术是通过在模板当中静态替换相应的类型来实现模板的复用的。动态复用技术是通过OOP技术采用执行时期的动态类型识别来实现二进制的复用的。但是我这里所讲的复用是通过在编译时期通过改变名字空间的方式来实现的代码级别的复用。
 下面我将介绍我的这种复用的技术。
 
 假设一个系统需要用到一个共用的函数fun(),这个函数相当于一个subsystem,那可以先将该fun() extern出来,然后就可以在服务器端设计几种不同的版本的fun(),并且将这些fun()分别封装到不同的名字空间当中,在客户端可以通过调用fun()前的名字空间来实现函数的复用。
 
 假设一个系统Sys需要组装有三个组件ComA,ComB,ComC中的一个,三个组件要共同完成的核心功能的接口为Com::doSth1(),Com::doSth2(),Com::doSth3()这三个组件对外的一个对象为extern Com com;然后将这三个组件分别放到三个名字空间当中分别为A,B,C,则在客户端的main函数当中,则直接可以利用com来完成doSth1(),doSth2(),doSth3()的功能,可以通过更改com前的名字空间来方便的更改com的具体类别来做到ComA,ComB,ComC的等价变换。
 
 总结:由以上技术,我们可以通过名字空间的技术来实现代码级别的复用。这样更加有利于组件的升级与维护、任务的分解与测试。好处我就不在这里一一列举了。
 
 其实这种技术是我突然想到的,我想不仅仅是在C++当中适用,JAVA等只要有包存在的语言都可以这样来实现代码级别的复用。由于不知道怎样将图片和代码贴上,目前还做不出大家那样的好的BLOG,请大家见谅,并且请网友们提出宝贵的意见。
 
 TAGS:软件复用,名字空间,组件,接口,对象,函数,C++,包 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值