本文参考自狄泰软件学院――《12月门徒计划》
- 核心:将现实世界直接映射到软件世界
- 意图:便于沟通和理解,降低复杂性,增加维护性
- 要点:使用现实世界中的概念
案例:任务与内存访问
TaskA可以访问Memory1内存和Memory2内存;
TaskB可以访问Memory2内存和Memory3内存;
TaskC不能访问这3片内存。问题:如何使用现实世界中的概念引入到该案例中?
我们可以使用公司中打卡的机制引入到该案例中。
1、每个员工都有一张工牌,相当于案例中的Task
2、工牌可以用于打卡,也可以用于开门(并不是每一个员工都有权限进入所有部门,需要区分开来)。也就是每个Task访问的内存不相同。
3、现实中每个工牌都有一个唯一的ID。
4、当访问具体内存时,工牌的ID号传到打卡机中,打卡机也存在一个ID号;然后打卡机将工牌ID号和打卡机的ID号一起上传到远端的控制中心。
5、控制中心中的数据库对工牌ID和打卡机ID进行匹配。查询工牌ID是否有权限打开这个门,然后再返回到对应门。开锁或报警。
由此我们可以设计出相应的架构设计图
在这个示例当中,我们是完全使用了实现世界中的例子,因为这样进行开发软件会使别人容易理解该软件的架构以及设计原理。如果我们使用一些高深的专业名词,则会业余人员不理解。
文章来源: 以人为本的设计原则