【每个人都可以说几句】模块化编程

ryfdizuo 2010-04-25 12:40:29

准备实现这种效果。
事先定义好各种模块,
每种模块用UIBox表示。

模块的每个public属性对应一个box的slot。

用户通过连接模块可以快速生成一个场景。有点可视化编程意味了。
现在是一点思路都没有,大伙给点建议吧~
...全文
303 29 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuiniu1988 2010-04-26
  • 打赏
  • 举报
回复
这是软件工程的范畴吗?我才开始学软件工程。
赵4老师 2010-04-26
  • 打赏
  • 举报
回复
改在Visio里面编VBA吧。
FrankSun80 2010-04-26
  • 打赏
  • 举报
回复
我也说几句吧,你这个很厉害,热插入式。slot的定义比较难~~ O(∩_∩)O~
na2650945 2010-04-26
  • 打赏
  • 举报
回复
恩。
图还不清楚。
向立天 2010-04-26
  • 打赏
  • 举报
回复
是不是类似authorware那种软件
我觉得是不是可以这样
每一个模块将内部需要与外部链接的属性用一个struct封装
然后将这个struct的指针暴漏出来
其他模块通过这个指针与这个struct链接
当然内部逻辑和各模块的依赖性要控制好
struct结构尽量统一

不知道你具体想做什么
只是有感而发
一家之言
仅供参考
elegant87 2010-04-26
  • 打赏
  • 举报
回复
用UML实现面向对象很好的
fallening 2010-04-26
  • 打赏
  • 举报
回复
看起来跟freemind, xmind, vue等软件的效果类似
yize.link 2010-04-26
  • 打赏
  • 举报
回复
看不懂你想说什么
Beyond_cn 2010-04-26
  • 打赏
  • 举报
回复
不太明白题意。。呵呵
azure110 2010-04-26
  • 打赏
  • 举报
回复
要实现模块为什么不按照需求的功能进行模块呢,然后没个功能进行细化,最好先流程图,细分功能,然后类图..这样或许就明了的多..
你上面所说的某个类有很多属性,我就有些不明白了.属性多少根模块有什么关系呢.
感觉 lz 描述的有些乱..
向立天 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 dizuo 的回复:]
TO: xianglitian
-----------------------------------
再次谢谢你的回复~

正如这个图示,
一个Camera可能有很多属性,每个属性用一个黑色脚点表示。
我现在要做的是模块脚点与脚点间的通信,图中的连线。我感觉用一个struct封装,粒度有点大啊~
[/Quote]

不好意思
我误会了
我以为你所有的模块都是单输入输出的黑盒
你这个情况我觉得就简单了
把接口的一半属性抽象出来定义成一个类
然后不同的接口都可以从他继承下来就好了
不同类型的接口可以完成不同功能
然后一个模块也可以拥有很多个接口
这样应该可以吧?
licry01 2010-04-26
  • 打赏
  • 举报
回复
学习, 顶起关注
boych 2010-04-26
  • 打赏
  • 举报
回复
确实得顶起来!好帖!
ryfdizuo 2010-04-26
  • 打赏
  • 举报
回复
TO: xianglitian
-----------------------------------
再次谢谢你的回复~

正如这个图示,
一个Camera可能有很多属性,每个属性用一个黑色脚点表示。
我现在要做的是模块脚点与脚点间的通信,图中的连线。我感觉用一个struct封装,粒度有点大啊~
daredjever 2010-04-26
  • 打赏
  • 举报
回复
chajuhendaa
向立天 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 dizuo 的回复:]
呵呵,还是很有借鉴的。
把所有可传递属性放到一个struct中,这种想法感觉可行性比较差,这样做的话,伸缩性有点差啊。
我现在也有点晕的,可传递的属性还需要好好分析一下。可能是值,对象,模块...
十分感谢你的回复~
[/Quote]

其实把所有属性用指针来统一一下也就是很多个DWORD
比如你有100模块
拥有属性最多的模块是10个属性
你的Struct其实就是10个DWORD
无论你的可传递属性是什么
他的指针都可以转化成一个DWORD
只不过对于不同的模块不同DWORD代表不同含义罢了
当然如果你不是用C/C++来做
我就不知道因该怎么处理了
ryfdizuo 2010-04-26
  • 打赏
  • 举报
回复
呵呵,还是很有借鉴的。
把所有可传递属性放到一个struct中,这种想法感觉可行性比较差,这样做的话,伸缩性有点差啊。
我现在也有点晕的,可传递的属性还需要好好分析一下。可能是值,对象,模块...
十分感谢你的回复~
向立天 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 dizuo 的回复:]
引用 11 楼 xianglitian 的回复:
是不是类似authorware那种软件
我觉得是不是可以这样
每一个模块将内部需要与外部链接的属性用一个struct封装
然后将这个struct的指针暴漏出来
其他模块通过这个指针与这个struct链接
当然内部逻辑和各模块的依赖性要控制好
struct结构尽量统一

不知道你具体想做什么
只是有感而发
一家之言
仅供参考
……
[/Quote]

其实统一很容易
一方面可以考虑面向对象的单根继承原理
另一方面可以考虑把所有模块的可传递属性都包括到一个struct里
这样用到的属性就是有效值
而没用到的就是无效值
当然这样做有些浪费
但是它可以解决问题
而且在实际应用中可以慢慢优化

不过不知道你的具体需求
我这又是胡言了
acrobatyuer 2010-04-26
  • 打赏
  • 举报
回复
结构和模块通讯方法。。。值得学习
ryfdizuo 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xianglitian 的回复:]
是不是类似authorware那种软件
我觉得是不是可以这样
每一个模块将内部需要与外部链接的属性用一个struct封装
然后将这个struct的指针暴漏出来
其他模块通过这个指针与这个struct链接
当然内部逻辑和各模块的依赖性要控制好
struct结构尽量统一

不知道你具体想做什么
只是有感而发
一家之言
仅供参考
[/Quote]
这位仁兄说的很值得鉴戒,只是这个struct不好统一啊~
加载更多回复(9)

65,201

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧