一部电梯引发的思考

电梯是上班族最常使用的工具之一。上班、下楼取快递、拿快递上楼、下楼取外卖、拿外卖上楼、下楼抽烟摸鱼、上楼、下班……每个人每天都要往返乘坐电梯很多次。

而电梯的设计也是五花八门。最常见的莫过于想上楼就按上想下楼就按下,进了电梯想去几楼就按几楼的那种。而有的电梯为分流考虑分高低层、奇偶层;有的小区电梯为安全考虑进去之后需要刷卡才能按楼层键,且只能按你注册的那个楼层;也有的电梯可以在外面就选择楼层等等。

而我最近的项目是给一个客户的系统做DDD改造,他们所在的大楼电梯比较新奇。你必须在电梯外面扫员工卡,然后在触摸屏上选择要去的楼层,扫卡处的显示屏会通知你将要乘坐的电梯编号。

比如你要去18层,刷卡之后点击18层,然后显示屏会显示C,提示C电梯将带你去18层。而其他人这时如果再选择其他楼层,很有可能为他服务的将是另一部电梯。如果你是一个程序员,显然就会意识到这时的调度算法肯定是和普通的电梯不一样的了。

这天我正在给团队介绍DDD中应用服务与领域服务的区别。可能是我表达能力有限,讲了半天大家还是一脸疑惑。已经到饭点儿了,只好先暂停,我和同事大饼准备下楼吃饭。

大饼刷了临时员工卡,按下了1层,屏幕上显示的是D。这时刚好电梯来了,大饼一边喊一边拉着我往里进:“DDD”。

什么?DDD?Aha!

DDD初学者最容易迷惑的概念就是应用服务和领域服务。因为一般来说代码只会有一个服务层,什么逻辑都往里面放。如果突然告诉他们还有应用服务和领域服务之分,自然是一头雾水。

但这部电梯的设计恰好完美解释了什么是应用服务什么是领域服务。

对于一部电梯来说其核心的业务逻辑应该是可以根据指令上行、下行(有可能还包括开门、关门),但至于指令是如何产生的其实并不关心。对于最普通的电梯系统

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值