一个文件和多媒体传输系统的基本架构
这是我刚刚为一个无线通信系统画的一个架构示意图。
对,它看起来还是比较清晰简单的。或者说因为清晰,所以简单。
Networks Layer:只管收发包,不管什么协议和上层应用。
NetworksControlLayer:网络控制层,是对包做一些解析,看是文件包,语音报,视频包,普通的数据包,或者是维持状态的一个keepalive包,然后将包投递到上层相应的类去处理;也可以做一些其他方面的控制,比如说监测是否重复包等等。
CoreLayer:核心层,用来实现实质性的传输逻辑。
InterfaceLayer:为了方便上层应用去掉用CoreLayer实现的功能,而将功能以接口的形式暴露出来。这样上层应用只需要告诉接口层,“我需要实现XX功能”就行了,而不用管借口层以下的CoreLayer是如何工作的,这种概念类似于C#里面的委托!
UILogicLayer:业务逻辑层,用来讲UI的指令传达给“下属”,并在必要时给UI反馈。
UIPresentationLayer:传达给用户消息,并提供让用户传达消息的界面。
这是一个典型的网络通信系统的架构模型,明确了架构,显然是有利于分工的,干起活来自然也就踏实了许多了。