数据设计是程序架构的灵魂

之前开发了一套c语言交互系统,当时设计了业务数据和用户数据,业务数据负责对业务操作的管理,控制数据负责的业务的结果进行管理。实现了模块和全局的解耦。全局对局部的支撑。

昨天晚上看了FFMPEG的数据设计架构,隐隐绝对当时的设计存在一些不足之处。

FFMPEG的数据设计主要分为一下三种:

1、业务数据,在业务运行过程中生成,并提供业务接口支撑,接口为模块抽象出的对外接口。

2、全局数据抽象部分,相当于c++的基类

3、全局数据私有部分,相当于c++的子类

业务运行时,调用业务数据中的支撑接口,实现具体业务。

FFMPEG数据架构是通过业务数据对外暴露业务接口,通过业务数据了解业务过程,通过全局数据实现具体业务功能。

好处为:

1、使用了面向对象技术,易于理解和扩展

2、使用了面向接口编程,低耦合,模块容易复用


通过对比,可以发现之前系统设计的不足之处

1、业务数据没有集成接口,功能过于单一

2、全局数据存在意义不强,需要承载更多的东西

3、无法通过数据清晰展示业务结构

4、模块复用度不高


总结:

1、FFMPEG和交互式系统的不同,上面的不足之处不一定都能够用FFMPEG的设计方式解决,但是其始终面向对象和面向接口的设计思想需要我们深刻理解,并引入。


注:本人设计交互式系统时还未接触过c++,所以系统的面向过程痕迹很重。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值