Lua与C++的一种联合开发模式

        自从把Lua与C++结合起来使用以后,解决了我以前非常头痛的几个问题,其中有两个是特别明显的,第一个,就是C++的各种对象的访问.第二个,就是程序源代码的管理.

       这些问题的起因,是我一般是使用VS的MFC编程.在MFC编程中,大家都知道的,就是很多的类对象都是存放在几个不同的框架,或视图类中的,从框架类中访问视图类的对象,或者反过来,在视图类中访问框架类的对象.这种反复的调用,很让人头痛.再加上,MFC的消息机制,让我们程序的某个功能,即可以在框架类中实现,也可以在视图类中实现,更可以,你实现的这个功能的代码就放在某个小角落里面.如果只实现简单的功能,这样做没有问题.如果是一些比较复杂的功能,例如,多实现几个按钮的功能,那么,第一次开发的时候脑子里有映象,这也没有问题.但是,当一段时间过后,你要对这些代码进行修改的时候,会非常的痛苦.因为,与某个功能相关的代码,可能会出现在N个地方.跨类对象访问和多种实现机制的相互制约,当程序复杂到一定程度的时候,对后继的程序功能的修改或升级或Debug,会让程序员的工作量大大的增加.

        后来,接触到了Lua,根据Lua与C++的各自的特点,我想到了一种模式.

        这种模式的主要特点就是,用Lua实现程序的各种逻辑,用C++为Lua扩展底层的基础函数库.

        在这种模式下,C++的开发将会变得简单,因为,C++本身不再处理与程序逻辑相关的任何事情,只是封装一些基本功能的代码库,比如,与XML操作相关的各种基本类和函数,与ADO相关的基本类和函数,通过Lua的loadlib函数,调用封装了这些功能的基本dll库后,在Lua中就可以实现这些功能的各种应用.当C++不再处理程序的各种复杂逻辑之后,我们编写C++的基本应用库就会很简单.

        Lua实现各种程序逻辑时,如果按照一定的原则进行,那对Lua的源代码的管理,会比C++简单,例如,我编写了一个对话框程序,这个对话框的各种功能描述函数,只要放在某个特定的Lua脚本文件中就可以了.如

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值