电脑生产流水线工人(角色问题) 递归 逐步求精

一个工厂流水线制造电脑。 A工人制造键盘, 交给B工人,B工人制造屏幕,加上键盘后交给C工人,C工人制造主机,加上屏幕和键盘后便完成了电脑的加工。


A(键盘)---->B(屏幕)---->C工人(主机) 


那么我们有一个问题: C提供了完整的电脑,那么C工人的角色是电脑加工人员还是主机加工人员? 


如果是主机加工人员,那么ABC的关系就是流水线关系。




如果是电脑加工人员,那么ABC就是一种层次关系。 语义上,上层包含了下层的所有内容。这是一种递归的, 逐步求精的思想。 


老板派A员工加工电脑,A觉得电脑太复杂,便把键盘和屏幕的制造交给B工人,B工人觉得还是太复杂,所以又把键盘交给C工人。


所以递归本质就是流水线。


在软件或协议的开发中,便使用的是第二种思想来设计软件架构。


当然每个工人在拿到任务的时候,首先要做的是评估下手上的任务复杂度,是否需要进行分解。


然后是将从工序上,靠近头还是靠近尾的复杂的任务交给下一个人。


如果是靠近尾的话。程序结构将会是:

甲:A:    recursion()

    {

 1.检查任务复杂度。(若简单则独立完成)。

2.进行自己的简单任务部分。

        3.复杂任务部分交给下个人。

4.向上交付被授予的大任务。

    }


如果是靠近头的话。程序结构将会是:

乙: recursion()

    {

 1.检查任务复杂度。(若简单则独立完成)。

        2.复杂任务部分交给下个人。

3.进行自己的简单任务部分。

4.向上交付被授予的大任务。

    }


两种结构实质都是流水线任务,只是生产顺序可能不同(甲:ABC, 乙:CBA)。不过组装顺序和实际流水线相反--CBA。(A生产完了等B提交任务组装。或者等B提交了任务再生产,再组装)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值