聂同学

一个程序员和架构师的实践与思考

领域知识的应用形态差异及对策

一、业务差异

这类差异大概有:

  1. 由于业态不同 - 比如有些是卖这类东西,有些是卖那类东西。
  2. 由于用户角色不同 - 比如有些是前台职员操作,有些是顾客操作,有些是后台管理者操作。
  3. 由于UseCase不同 - 比如有些是在配置规则,有些是在使用规则。
  4. 由于产品策略不同 - 比如有些是精简版,有些是完整版。
  5. 由于操作渠道的不同 - 比如有些是通过合作系统操作,有些是通过另一个合作系统操作。

这一类的差异是业务的本质。有些不需要领域层面处理,应用层面进行选择就可以了。而有些则需要通过领域逻辑的分支来处理。

业务差异是否有必要在领域层面处理,由领域团队决定。

二、步调差异

由于研发或产品的工作进度造成应用形态差异(不论有意还是无意)。

领域层面通过版本来应对这种差异,比如服务接口的版本。

设计和维护版本之间的兼容性策略是领域团队的责任,而不是应用团队的。

三、技术差异

不同的应用在不同的平台上运行,有可能会出现一些技术限制造成差异。比如有些应用网速不可控,有些应用内存很少等等。这种差异往往是暂时的,根据大家对这个技术限制的认识转化为之前的两种:

  1. 技术限制将被克服。则转化为步调差异。
  2. 技术限制将被容忍。则转化为不同的产品策略(业务差异第4点)。

分享 -