一个程序员对架构的认识
架构是一个系统的草图(逻辑+物理角度),它是有生命的,随着业务的变化会不断演进。没有完美的架构只有合适的架构。
最近订阅了少量架构方面的资料,阅读后获益匪浅,想着整理少量自己的体会与思考,形成架构方面的读书笔记,一来与大家交流,二来通过文字的形式检查自己究竟收获多少!
“我们系统是MVC架构的”
“淘宝的架构好屌”
“最近在学习MySQL的架构”
“这个系统开发我们要使用MVC框架来进行开发”
我们常常听到上面关于架构的各种形容,那么架构究竟是指什么?系统、框架、架构三者之前是一个什么样的关系?下面让我们结合实际的例子一起来探索下。
架构的含义
小石最近加入了一家生鲜电商公司。公司现在的首要任务是把电商系统给做出来,让使用户可以够通过PC、App购买公司的生鲜产品。
关键词: 系统 ,所谓系统能简单了解为我们平常所说的应使用,当然系统能包含多个小系统,这里为了简单起见,我们就先假设只开发这样一个单体应使用,包含了使用户下单购买的基本功可以。
小石通过分析其余电商系统,知道至少需要 使用户注册登录板块 、 使用户信息板块 、 商品板块 、 订单板块 系统才可以够进行运转。
系统的功可以确定了,该选择使用什么样的语言进行开发呢?选择什么样的方式进行开发呢?与大家一起探讨后,大家认为现在阶段的首要目标是快速做出系统来,因而大家决定采使用PHP来开发,并决定用 Yii2 框架,数据库方面用 MySQL,WebService用Nginx。
关键词: 框架 ,为了快速完成系统的开发,我们会采使用少量已被业内实践确认的规范来进行,比方这里采使用 YII2 框架,也就是采使用了业内的 MVC 规范。所以能认为所谓的框架就是确定了少量业内规范,从某种程度上对大家形成束缚或者者形成都可以了解的规定。
从开始到现在,还没有写一行代码,一直在进行设计与探讨,探讨需要哪些功可以,设计采使用什么 结构 ,而这里的结构主要包括了两方面:逻辑的结构与物理的结构。所谓逻辑结构就是指系统是按照什么样的流程来运转,需要哪些功可以来支持。所谓物理,就是当编码完成所有的逻辑后,系统采使用什么形式来部署运行。
那么究竟什么是架构呢?我了解的架构:在系统诞生之初,对系统进行的逻辑设计与物理设计。他是系统的草图,能类比为建筑领域的设计图。这张图需要确定:
- 业务需要的功可以板块划分(建筑设计需要划分区域功可以)
- 技术选型,使用什么框架、什么存储、什么缓存(建筑领域也要确认框架结构还是框剪结构)
架构是进化的
一个架构的0.1版本绝对不会是完美的,世界上也不存在完美的架构。像上面的小故事,我们采使用最简单的架构,如下图(物理角度):
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 一个程序员对架构的认识