一项任务分很多步骤,涉及很多方面,且诸多关联,构思或选择完成它的方式对完成效率与效果有着极大的影响!
有条不紊的完成任务,最重要的是合理的进行任务拆解。合理的拆解让子任务相对独立,整体架构益于理解,组合更有效率!
因此,在开始一件任务之前,别急着动手,先进行初步的过程设计,形成拆解架构是谓之磨刀不误砍柴工!
拆解的基本原则
1.问题转换
为了便于拆解,需要根据设计思路重新描述任务!
拆解要覆盖任务的方方面面,且要清晰知道如何行动!
2.解藕
藕,耦合的意思,指的是两两之间相互关联性和依赖性。
解藕就是要解除或降低这种依赖性!
通常的方法: 接口化,代理化
接口化就是只约定参数,你给输入,我给你输出结果。
代理化就是加入中间者,把一些相关结果丢给它,自己忙点别的。
拆解模式
没有固定的拆解模式,自己熟悉,好理解即可,甚至不拆解也行,哈哈!个人觉得可以从两个角度考虑拆解模式。
1.自上而下
从最终要达到的效果出发,一步步提出所需组件形成架构的各个部分。
2.自下而上
从问题或已有条件出发,形成合理的相对独立的组件,有效结合形成解决方案。
当然两者可以一定程度结合!
拆解实例
任务:在地图上标注活跃设备的位置!
重新描述:找出活跃设备,在地图上标注出其位置。
- 给定位置清单,地图标注
- 给定活跃设备信息,格式化信息
- 获取活跃设备列表
位置标注独立化,不管数据来源。解耦,可复用。
格式化信息只管为下一步标注做准备,中间化,简洁。
获取活跃设备列表,活跃的规则定义,只管数据,独立,单一,清晰。
网友评论