经常有人念叨,互联网逻辑思维,做产品也好,做技术也好,都会把逻辑思维放在第一的位子,逻辑思维,抽象的概念,摸不着看不见,本文将逻辑思维具象化从基础到高级,分章节梳理讲解。
就地取材,以简书为例,最简最基础的业务场景逻辑庖丁解牛的分解逻辑思维
首先我现在写一篇文章,文章需要标题和正文。然后写完后,发布到简书平台,时间是2020-06-26 17:30,你看到了标题有吸引力,于是点击进来查看,大约两三分钟,你看完了,评论,点赞,打赏,收藏,踩一脚,分享等行为。然后离开。 作为作者,我是发布的人,我看到了有人评论点赞,打赏等行为,于是我就有可能对这篇文章做以下的处理
第一种:其中评论有褒有贬,文章有病句,有别字。那我会对文章进行修改然后重新发布,重新发布时间是2020-06-26 18:30
第二种:文章评论,那我会进行回评,看下评论的人数,点赞的人数,总的阅读人数
第三种:由于文章被吐槽太多,我可能会删除该文章。
到这里,姑且认为以上三种情况,我都做了,分布做的,第一次对文章重新编辑,第二次回复评论,第三次,直接把文章给删除了。那我这篇文章从创建-查看-编辑-删除。如果这篇文章有生命的话,那从出生到死亡,他有一个完整的生命周期。
说了这么多,有人会说,这和逻辑思维有半毛钱关系。有,而且这里有比较复杂的逻辑思维,我们现在把以上的例子抽象化。创建的文章,我把他定义为一个数据,那这个数据有个创建时间,数据可以被查看。后续这个数据又被我修改了 。最后由于各种原因,数据被删除了。流程图如下:
好像很简单,这就是数据最基础的增删改查。前方高能,一重一重关联,影响因数,串起互联网复杂烧脑的逻辑思维
创建数据
对于程序而已,创建一个数据,则有创建的时间,由于创建数据,又失败和成功,为什么会有失败,由于是软件程序,影响的因数,可能是没有网络等。这里不展开,我们直接判断创建成功,那创建这个数据,得有依附平台,现有依附平台是简书。
创建这个数据,有标题和正文两项:对标题和正文需要约束。比如我的标题不能超过30个字,正文不能超过10000个字,为什么有这个约束,这是在查看环节会有影响,如果我的标题没有字数限制,那对于有点用户,他直接来了个1000字的标题,在手机或网页上查看,就会被人吐槽,这个标题这么长,怎么看。为什么会有10000字的要求,这个到没什么约束条件,无非也是前端展示,内容会占用的内存空间。当然从基础功能,这个可以不限制,不影响。创建数据属比较简单。
创建数据,哪些人可查看,仅自己可见,还是所有人可见,还是作为草稿,暂不发布,下次编辑好了再发布,或者对草稿删除。我们也有流程图梳理下(为什么用流程图梳理呢,这是对流程的最好诠释,也比较容易理解,如以上写了一大段。简单的流程图就可以表达)
查看数据
查看数据,就以上创建的数据,自己查看,是否被他人查看。
1 先分析查看的内容
这个数据呈现的方式应该是怎样的:是谁发布的,发布时间,发布的内容。
2 可查看的人群,查看是否有记录,即阅读记录,阅读记录表现的方式有两种,一种是只有统计人数,另外一种是统计那些人查看了(早期qq空间浏览记录有这个功能)
修改
修改是比较复杂的模块,第一章只说对原文数据的修改。评价,点赞,打赏属行为动作,后续文章会讲解到;
数据是否可以被修改,这要从业务场景分两大类:可以修改和不能修改
1 如我发布的文章属个人的,他对外界的影响不大,那我认为可以修改这个文章,如果我创建的数据有一定的影响作用,往大了说,发布的组织的规章制度,那他不能被轻易修改,或者修改了也要有修改记录。避免产生不必要的纠纷。
2 可以修改,那修改是否要有修改记录,修的时间,谁修改的(这里暂不展开,本章讲本人修改)。修改了数据是否要保存发布,我们也以最简的流程图总结下
删除数据
删除数据,又分为和逻辑删除和物理删除,逻辑删除和物理删除有什么区别呢。通俗的来说,逻辑删除之后,可以恢复回来,物理删除后,则永久删除,不可恢复,关于逻辑删和物理删除,在之前有单独立篇文章讲解,有兴趣的可去翻阅查看
1 先不考虑逻辑删还是物理删,我就是对这篇删除。似乎很简单,是的,很简答,删了文章。但是有关联关系后,删除就不显得很重要了,这里要把刚刚说的行为先抛出来,例如文章被人点赞,收藏,评论,打赏,转发等行为,从行为上来说,我发布的文章,我可以删除,但是从系统层来说,要考虑的因数就很多了:
1.1 弱关联:如被人点赞、收藏,转发了:那删除了,收藏的人要如何展示,不展示,裂图的形式展示,还是置灰的形式展示,还是点击后,给了个404.文章被作者删除了。
1.2 强关联,如文章别人评论了,甚至这篇文章被人打赏,其中打赏,就会金额交易,可以删除评论,但不能删除金钱交易记录,金钱交易记录关联这篇文章。
2 所以就会在设计上,就要考虑前面说的逻辑删除后物理删除,如果文章没有太多关联关系,而且需恢复行为,那就可以物理永久删除。反之,则是逻辑删,以这篇文章为例,如果被打赏了。而且后续我又删除了这边文章,那产生的交易关联文章该如何显示呢,所以只能是逻辑删除。在页面上已被删除了,但他关联的订单等数据,视觉效果上,他有存在的痕迹
数据属性
总结下,以上数据的增删改查。
1 唯一ID:这个数据可能被修改也可能被删除,如标题被修改了,而且是颠覆性的修改,等于改头换面了,但是他还是原来的数据的修改。所以要给这数据设一个I唯一D,ID是什么呢,就是这个数据的唯一标识,就和我们人一样,有个身份证,不关年龄的增长,长相的变化,所处位置的变化。
2 数据字段:以上例子,数据字段基本属性:标题,正文,创建时间,修改时间,创建人
3 数据的状态:编辑到草稿,已发布,已删除
所以就形成了一个基本的数据表,,即文章列表。而每个人都可以创建文章,那就会有个文章列表。