一开始实现的是pc客户端,后面想要移植到 m 端、 pc web 端。
如何设计可以快速移植?
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
一开始实现的是pc客户端,后面想要移植到 m 端、 pc web 端。
如何设计可以快速移植?
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
设计上可以考虑分层。将 IM 系统设计成模块化的结构,每个模块之间松散耦合,方便在不同平台上重用和移植。
将用户界面(Vue 虚拟 dom)、基础能力(请求、音视频)等模块分离开来。
举个例子,访问本地数据库的模块。设计一个接口,支持 CURD,通过依赖翻转,在使用时传入本地化的方案。
通过上述的方式,针对不同的端,实现一份基础能力即可。