大家讨论下程序框架的问题

chary8088 2010-03-08 11:27:45
有一个系统,底层提供API调用,这些API以后可能会陆续增加
上层就调用这些API插入数据,获取数据,设置参数等

但是上层的调用结构几乎完全一样;
现在的做法是,一类API,写一个程序,比如针对日志获取,写一个日志程序
针对 关键字查询的写一个程序
他们所不同的就是 底层API不同,里面涉及的数据类型,
这些程序是平行的关系;不过是用C语言实现的

我想如果用C++,应该会简化很多
大家讨论下用C++应该设计框架
...全文
177 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
malu_1982 2010-03-09
  • 打赏
  • 举报
回复
用C++封装好像没什么意义,
而且这种API用C++封装完之后,一般会变成纯操作类。 这样有悖OOP思想。
xwb2766 2010-03-09
  • 打赏
  • 举报
回复
可以考虑 用 c++ ace 的log来实现
Proteas 2010-03-08
  • 打赏
  • 举报
回复
软件设计中的很多问题,可以通过增加一个中间层来解决。
对底层进行抽象封装,底层变化后,提供一个向前兼容的封装即可。
chary8088 2010-03-08
  • 打赏
  • 举报
回复
大家能否提供一个比较好的框架
现在去看MFC也没时间啊,项目在做了
chary8088 2010-03-08
  • 打赏
  • 举报
回复
底层API封装的意义不大吧
主要是上层的程序,结构都一样,所不同的就是数据类型和底层API,我感觉这个能否做个模板类之类的
_JeffreyWu 2010-03-08
  • 打赏
  • 举报
回复
引用 5 楼 chary8088 的回复:
MFC的框架代码是自动生成的

.....
这个自动生成的程序不还是人写的嘛...
他说的MFC这个类库
chary8088 2010-03-08
  • 打赏
  • 举报
回复
MFC的框架代码是自动生成的
_JeffreyWu 2010-03-08
  • 打赏
  • 举报
回复
完全可以啊,你可以按功能(职责)把相关API封装成一个类喽,比如数据操作类的,你可以把 增、删、改、查相关的API封装成一个类,在调用的时候,直接用就行喽,不过我觉得这样没有太大的意义
冻结 2010-03-08
  • 打赏
  • 举报
回复
很明显MFC就是你想要的东西。
楼主可以学一下MFC的思想,
然后做自己的库。
chary8088 2010-03-08
  • 打赏
  • 举报
回复
用C++来封装上层
或者用C++来封装全部
_JeffreyWu 2010-03-08
  • 打赏
  • 举报
回复
嘛意思 ?是想用C++来封装底层吗?
chary8088 2010-03-08
  • 打赏
  • 举报
回复
抽象工厂的模式有点差不多,不过那些工厂如果结构一样,就又出现类似问题了
引用 11 楼 cattycat 的回复:
你可以设计1个类向上层提供可以访问的API接口,或者按功能分开提供的接口,这些接口不再改变,底层API增加或修改不影响这些接口。上层调用这些接口就行了。
看看设计模式中有没有你具体想要的结构。
最帅马老师 2010-03-08
  • 打赏
  • 举报
回复
引用 7 楼 chary8088 的回复:
底层API封装的意义不大吧
主要是上层的程序,结构都一样,所不同的就是数据类型和底层API,我感觉这个能否做个模板类之类的


模板主要是针对算法实现,楼上几位说得很有道理,MFC是最好的,如果不想花过多时间去消化MFC,就先将底层接口自己封装下,以后肯定会有好处,起码处理调用异常会比较方便。

可以与STL容器等结合起来适应不同的数据类型
cattycat 2010-03-08
  • 打赏
  • 举报
回复
你可以设计1个类向上层提供可以访问的API接口,或者按功能分开提供的接口,这些接口不再改变,底层API增加或修改不影响这些接口。上层调用这些接口就行了。
看看设计模式中有没有你具体想要的结构。

64,654

社区成员

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

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