理解并使用分层(分工)思想
理解并使用分层带来的便利和高效,最后是网友对分层的解释。
我的理解是,下层只需要提供上层需要的服务(原料、素材、服务等),而不需要知道上层拿这些东西来做什么,这样子带来的好处是什么呢?
首先是一个分工,就是你做你的,我做的我,而不需要交错。
比如,如果蛋糕店要生产蛋、小麦、面粉等等,那么你想想这会是什么样的情景。
再说,你说农民需要知道他的小麦是被用来直接煮来吃还是用来磨成面粉吗?他需要探究吗?
或者极端一点的说,生产小麦的农民,难道他需要理解蛋糕是怎么制作的吗?
或者说,蛋糕店老板,你用了我的小麦,你必须告诉我,你用来做什么,你用来怎么使用,每一个蛋糕用了多少小麦?需要这么复杂吗?
不!不需要,下层只需要提供他所生产的产品给上层使用,同时上层又作为另外的上层的下层。
链接所有层的关键就是需要。
那么怎么管理这些层呢?
问责制,
比如蛋糕店直接对使用蛋糕的消费者负责,
面粉店的老板对蛋糕店老板负责,
生产小麦的农民对面粉店老板负责。
维持这些层的链接,还可以依靠一个作用,检查员,他检查每个层是否正常运作。等等解释,不一而足。
1.下层不知道上层的存在。例如奶牛厂生产牛奶,它不必知道牛奶被拿去做什么,可能被奶油厂收购去做奶油,也可能被雪糕厂收购了做雪糕,也可能被收购去做奶糖,总之,它只管完成自己的职责——生产牛奶,而对于它的上层一无所知。同样,奶油加工厂只管生产奶油,它不必知道奶油被拿去做蛋糕还是做摩卡咖啡。
2.每一层仅仅知道它的下一层(最后一层除外,因为最后一层没有下一层),而不知道另外的下层。例如,蛋糕厂只需知道从面粉厂、奶油厂和鸡蛋厂提取面粉、奶油、鸡蛋就行了,而不必关心面粉是怎么来了、奶油是怎么来的这些问题。
可以说,符合以上两点的分工就是分层架构的思想来源。下面说的稍微正式一点。所谓分层思想,就是这样一种分工:它将系统按不同的职责组织成有序的层次。其中,除最上层外,每一层仅提供若干服务供其相邻的上层使用,但不知道上层的存在;除最下层外,每一层仅调用其临近下层的服务。
posted on 2010-01-12 20:45 At all times growing 阅读(178) 评论(0) 编辑 收藏 举报