首页 栏目2 如何进入开发者模式 开发者模式影响手机吗

如何进入开发者模式 开发者模式影响手机吗

一、系统设计心法

1、学会借鉴(创新从模仿中来)

技术人要有产品思维。但对产品设计,需求分析,要学会“借鉴”,不要闷头想。

一方面这样很难想全面,另一方面,从零开始设计比较浪费时间。

2、画图细化流程(细节决定优秀)

此外,通过线框图和用户用例来细化业务流程,可以挖掘出一些比较细节的,不容易想到的功能点。

3、类比面向对象设计(系统相似性原理)

面向对象设计就聚焦在代码层(主要是类),那系统设计就是聚焦在架构层面(主要针对模块),两者有很多相似之处。

很多设计原则和思想不仅仅可以应用在代码设计中,还能用在架构设计中。实际上,我们可以借鉴面向对象的设计的步骤,来做系统设计。

面向对象的本质就是把合适的代码放到合适的类中。合理地划分可以实现代码的高内聚,低耦合,类与类之间的交互简单清晰,代码整体结构一目了然。

类比到系统设计,就是将合适的功能放到合适模块中,合理地划分模块可以做到模块层面的高内聚,低耦合,架构整洁清晰。

在面向对象设计中,类设计好了后,我们需要设计类与类之间的交互关系。

类比到系统设计,系统职责划分好后,接下来就是系统设计之间的交互了。

二、业务系统设计案例:积分系统

1、需求分析:

首先,百度借鉴“某宝积分规则”,并做适当创新;

然后,通过产品的线框图、用户用例或者用户故事来细化流程,挖掘细节功能点。

积分系统基本需求:

(1)积分赚取和兑换规则

(2)积分消费和兑换规则

(3)积分以及明细查询

2、系统设计:

(1)合理地将功能划分到不同模块

用户下单赚取积分流程:

首先,订单系统通过异步发送消息或者同步调用接口的方式,告知营销系统订单交易成功。

然后,营销系统查询订单对应的积分兑换规则(兑换比例,有效期等),计算得到订单可兑换的积分数量。

最后,调用积分系统的接口给用户增加积分。

(2)设计模块与模块之间的交互关系

交互方式:同步接口调用 或者 利用消息中间件异步调用。

同层之间的调用倾向于异步消息调用:

用户下单成功,订单系统推送一条消息到消息中间件,营销系统订阅订单成功消息,触发执行相应积分兑换逻辑。

上下层关系倾向于同步接口调用:

而营销系统与积分系统是上下层关系,使用同步接口调用。

(3)设计模块的接口,数据库,业务模型

基于贫血模式的传统开发和基于充血模型的ddd开发模式。

开发模式:基于充血模型的DDD开发模式存在是为了应对复杂系统,而积分系统业务比较简单,所以选择简单的基于贫血模式的传统开发模式。

开发角度:积分系统可作为独立项目开发,也可跟其他业务代码(营销系统)放到同一个项目中开发。

运维角度:可以作为一个微服务对立部署,也可跟其他业务(营销系统)一块部署.

版权声明:本网站内容来源于网络和互联网作者投稿,本站不享有任何版权,如有侵权请联系删除 QQ邮箱:11111111@.qq.com

作者: tiger

为您推荐

发表回复

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