一:背景介绍
我们开发了一个项目:AR助教机器人。AR助教机器人的核心思想是:让学生的学习看得见、抓得住、帮得上的一个系统。需要老师在第三方上制作课程,然后同步到AR助教机器人上。然后把最做好的课程推送出来给学生进行学习使用。AR 助教机器人能否正常给用户提供服务是受到第三方的限制的。AR系统和第三方之间有着很强的耦合性。
二:思路&方案
使AR助教机器人和第三方的耦合度降低,将制作课程这一部分内容在自己的系统上能够支持。让制作课程这项工作能够可控。
三:实现过程
1.强耦合:目前存在两个问题,一个问题是AR助教机器人和第三方的耦合度太高了,导致如果第三方我们访问不通爬取失败,我们就不能正常的进行教师推课的活动。教师不能推课学生自然就不能上课。这样就会发生因为第三方访问不通AR助教机器人也不能正常使用的问题。另一个问题是学生登录AR助教机器人的时候使用的是第三方的账号密码。登录助教机器人的时候需要去第三方上进行账号密码的校验。如果并发比较高的情况下,第三方会相应的做出一些措施。例如登录不上去或者其他问题。
2.弱耦合: 对于用户登录来说,从用户每次登录都需要去第三方进行校验变成了,只需要在第三方上登录成功过一次。在下次登录的时候就不需要在去第三方进行校验了。对于老师制作课程同步来说,我们将制作课程,同步课程这些功能做了一个我们自己的软件。通过我们自己开发的软件进行制作课程和同步课程,避免了用户不能正常使用的问题,即使遇到问题我们也能很快的解决掉。这些问题都是我们可控的。
四:总结升华
高内聚,低耦合。内聚关注模块内部的元素结合程度,耦合关注模块之间的依赖程度。
短期来看,高内聚低耦合并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。