Fresns 社交网络服务软件设计理念

作者: 唐杰 分类: 产品设计 发布时间: 2021-07-05 12:28

Fresns 是一款免费开源的社交网络服务软件,专为跨平台而打造的通用型社区产品,支持灵活多样的内容形态,可以满足多种运营场景,符合时代潮流,更开放且更易于二次开发。

这一篇给大家介绍一下 Fresns 设计理念。

Fresns

Fresns 产品结构的设计理念来自「算法+数据结构=程序」这个公式,基于该公式的软件思想,我们将 Fresns 划分成了如下图的产品结构。

Fresns

用户通过交互行为对内容产生结果,结果可以通过某种分类形式进行归档;算法将归档的果进行特定条件的输出,最终客户端产品解析并渲染出界面供用户浏览和再次交互行为。

这一切的归因是数据,所以用户、交互、内容、分类都有自己的主键,然后再延伸附属,核心重点则是定义数据结构和 API 接口,其余的功能模块均可交付扩展插件处理;因此我们的插件机制是埋点在数据流转过程中的,这也保障了跨平台的实时、统一、通用和标准的一体化使用。

主程序的设计则更像是一个脚手架、一个框架,为扩展程序打好坚固可靠的基础,只含有身为社区不可或缺的基本 API 功能,其余扩展功能则由插件提供;插件作为一个独立功能模块,从系统设计和业务封装的角度,采用的是「命令字」设计模式,即一个插件模块包括多个命令字,外部通过命令字方式来调用插件。对开发者来讲,形式简洁,容易开发;对系统通讯来讲,插件通讯模式简洁,通过类似 RPC 模式来调用即可。这种软件设计思想,从后续的框架扩展来看,单体框架可以支撑多插件,同时后续也能支撑多系统多插件模式,并能以微服务的模式实现系统之间的分布式调用。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注