系统架构三日谈(一)

本文介绍了系统架构的分层设计思想,强调了分层对于项目管理和软件调试的重要性。以金融软件系统、CORBA中间件和Web服务器为例,阐述了不同场景下的分层结构,包括平台层、应用层、通信接口以及脚本执行等,并指出在现代软件发展中,程序员更多地专注于编写回调函数。
摘要由CSDN通过智能技术生成

 

 

如何架构一个系统?比较常见的是将系统进行分层设计,在C语言中,函数指针是用来实现软件分层的重要手段.

一个大型软件是一定要分层写的,一是便于项目管理中人力的分配,底层用少量水平高的人写,越往上层人数越多,到最上层编程人员可能只需要写回调函数就行了;二是分层后,软件的bug被隔离开,出现一个bug,不至于在整个系统中到处找,到处修改,分层后只需先定位是哪层,再修改相应函数.

一般所说的软件分层是从模块(或函数)上分层(目的是便于编写和调试),上层可直接调用下层函数;而操作系统(OS)与应用的分层是真正的分层,即应用只能通过陷入(中断)得到OS的服务,应用是不能直接调用OS的内核函数的.

分层的特点是:上层调用下层,但不能调用下下层,即不能跨层调用;如何分层,即定义某层所应提供的服务是一个难点。一旦定义好,就要为这层精心设计几个调用点(即调用入口),上层只能通过这几个入口来请求服务.如果写成上层调用下下层,甚至最底层,这会导致修改一个地方需要改很多地方,且相互牵制,这个工作量及复杂度令人难以忍受,最后的结局是:不是系统崩溃,就是人崩溃.

举几个例子:

  1. 金融软件系统(后台)通常分为两层:平台层,应用层。平台层负责解决通迅和数据库接口,应用层负责业务流程。平台层recv营业网点send来的数据后,将其存入共享内存区,然后fork一个应用;应用从共享内存区读取数据,处理业务(可能调用平台层提供的数据库API),将结果send给平台层,平台层再将结果send回营业网点.
  2. CORBA是一种中间件技术规范.如果想用CORBA来架构系统,我们除了要购买厂商的CORBA产品(相当于平台层)之外,还要程序员编写相应的CORBA应用程序,这些应用程序其实就是回调函数,供平台调用(Dispatch).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值