可扩展模式


可扩展模式
概述
软件系统与硬件和建筑系统最大的区别在于软件是可扩展的。一个硬件生产出来后一般都不会进行改变了,而且都会一直使用,知道不能使用为止;一栋房子建好了是不会去改变其整体架构,顶多也是进行装修,但是整体架构是不会变的。
软件系统的天生的可扩展性既是魅力所在,也是其难点所在。魅力体现在我们可以对软件系统进行修改和扩展,难点在于如何使用最小的代价去修改和扩展系统。
可扩展的基本思想
尽管可扩展的方式由很多种,但是请切记,万变不离其中的一个字:拆。

对其拆分后:

拆,原本就是讲一个大系统拆分成若干个小系统,这样可以更方便地进行维护和扩展。
拆分方式
面向展示层拆分
- 用户界面层:负责展示信息给用户。
- 业务逻辑层:处理用户的请求并返回结果。
- 数据访问层:负责与数据库交互,进行增删改查操作。
面向服务拆分
将系统分为多个独立的服务,每个服务负责一个特定的功能。例如:
- 登录服务
- 注册服务
- 信息管理服务
- 安全设置服务

面向功能拆分
每个服务可以进一步拆分为更细粒度的功能。例如:
- 注册服务:
- 手机注册
- 身份证注册
- 邮箱注册
- 微信注册

结论
不同的拆分方式,架构图差异很大。但是好像无论使用哪种方式,最终都是可以实现的。但是我们不能随意拆分,要考虑多方面的因素,可能你考虑拆分的方式是很完美的,但是工期太久太长导致同时公司给不起那么久的时间。没有最完美的拆分方式,只有最适合的拆分方式。