基于业务的架构设计


基于业务的架构设计

前言

一,爱学习的程序员+业务专家才能做出健壮易维护的系统。
二,减少沟通成本的好方法是都用同样的词语。
三,任何词语都能找到不止一个上下文,脱离上下文任何一个词语都有歧义。

磨练自己从实际问题中获得的分析能力,抽象能力,使得自己可以快速理解业务和抽象出精炼的业务模型来简化讨论/设计/实现,这是一门无法去教也无法去学的艺术;也是程序员的核心竞争力之一。

把工作分成业务的和技术的,认为业务应该由PM策划全权负责,自己的职责只在技术范畴,不去考虑为什么要做,为什么做成这个样子,往往阻碍了成长(对于"算法/工程"之分也是如此)

对于任何工作“做出来就好”,而不去进一步思考是否可以简化,过度抽象了之后是否造成了理解障碍,也阻碍了抽象能力成长

抽象能力,大道至简。无用之用,方为大用。

19年7月,我第一次提出把策划用到的ID从int改为string,改为见文知义的字符串。

20年7月,这件事才落地成功。

困难点:固有意识很难改变,或者认为优先级低。

玩家数据

资产 非常重要 和RMB挂钩的
物品 重要 可见的实体
属性集 一般 没有实体

线

关卡 任务 剧情 成就 签到

一条线串起来很多节点

前驱pre

A,B,C|2

表示 ABC完成了几个,可以触发本节点

后继next

A,B,C

表示完成本节点后,可以看到哪些节点

线与线之间跳转很方便

方便漏斗统计

关系链

单点 账号信息、用户信息、用户邮件、队伍信息
线 点与点 好友、最近一起游戏的玩家
点组成群 队伍

提供数据结构、操作接口

玩家行为

分类

  • 点击按钮
  • 进入页面
  • 退出页面

click事件统计次数。

enter事件、exit事件统计使用时长。

根据时间序列可以做漏斗路径分析。

根据操作序列做回放,方便看问题。