从结亲网 的架构谈起,谈什么架构, 我理解的架构。我想很多人理解的架构应该可能比较 狭义
2017-05-08 11:50
375 查看
从结亲网 jieqin8.com 的架构谈起,谈什么架构, 我理解的架构
什么是架构?
什么是架构,谈下你项目中用的是什么样的架构?!!
What?这个问题怎么熟悉!!原来是在面试的时候经常面试官会问出这个问题。
然后,程序员们开始侃侃而谈,我用的是三层架构,我用的是MVC架构,我用的是WebApi架构,我分业务层,我分数据访问层,我分实体层,等等。。。。
然后似乎面试官也很满意你的回答。。。。。
那么架构真的是这样子吗?
楼主个人对架构的理解,它应该是这样子的:
架构应该是整个项目体系所有思维过程的总称。
下面以结亲网(jieqin8.com)为例,讲解怎么理解这话的意思呢?
1、架构选型
结亲网的客户群体是谁?
结亲网的一段时间内的客户访问量会多少?
结亲网的理想市场客户数会有多少?
结亲网需要用到什么主要技术?
结亲网是否需要手机版本?
团队目前或短时间内能够拥有的资源有哪些?
我们具备什么的人才体系和技术力量程累?
我们的资金及实力资源有哪些?
..........
基于更多的,类似于这些问题的思考,就会影响我们的架构选型,到底我们是用java还是C#,用oracle还是sqlserver,用mongodb还是redis等等。
最终我们会选择出最适合自己的架构选型。
那么,结亲网用的是C#,webapi,sqlserver
[b]
2、业务架构[/b]
项目的实施是为了解决实际问题。所以,对于业务的了解和深入及精通,这整个探讨过程,我称之为业务架构。
业务架构主要的成果是思维上和文档上进行体现。
那么针对结亲网,分析整个网站的业务需求,与市场的对应关系,要解决的业务问题,就是我们日常要思考和探讨的话题,整个交互过程,最终要形成文字性的需求文档,甚至demo。
[b]3、系统架构[/b]
针对系统选型,以及业务模块的分析,那么系统架构就呼之欲出。
我们要怎么划分系统的底层模块?
我们要怎么建立各个子系统之间的联系?
我们要怎么控制链接安全?
我们要怎么传输数据和访问数量?
。。。。。。
经过一系列的思考,就会得出我们的业务构架模式。
以结亲网为例,我们的系统架构是这么搭建的。
子系统分为OA内部系统、外部全站的jieqin8.com系统、WCF框架、微信支付宝等接口模块、系统的通过核心框架,以及大家常见业务层、数据访问层、实体层等模块。
[b]4、技术架构[/b]
技术架构水到渠成。
业务构架中,我们已经对业务整体进行了分析,那么,业务既然分析出来了,那总要使用代码去实现吧?!
so,技术架构应该在俯视全局的基础上,做好面向对象的业务抽象,为整个网站做好扩展和解耦基础。
结束寄语
架构是项目系统实施的整个思维过程。他不是一件容易的事。
需要架构师能够充分把握业务需求,对行业及项目具有前瞻性的眼光,对抽象思维有精深的能力,应对变化有足够的反应,这样才可以把一个项目架构做好。
程序之路漫长,祝大家财源滚滚。
什么是架构?
什么是架构,谈下你项目中用的是什么样的架构?!!
What?这个问题怎么熟悉!!原来是在面试的时候经常面试官会问出这个问题。
然后,程序员们开始侃侃而谈,我用的是三层架构,我用的是MVC架构,我用的是WebApi架构,我分业务层,我分数据访问层,我分实体层,等等。。。。
然后似乎面试官也很满意你的回答。。。。。
那么架构真的是这样子吗?
楼主个人对架构的理解,它应该是这样子的:
架构应该是整个项目体系所有思维过程的总称。
下面以结亲网(jieqin8.com)为例,讲解怎么理解这话的意思呢?
1、架构选型
结亲网的客户群体是谁?
结亲网的一段时间内的客户访问量会多少?
结亲网的理想市场客户数会有多少?
结亲网需要用到什么主要技术?
结亲网是否需要手机版本?
团队目前或短时间内能够拥有的资源有哪些?
我们具备什么的人才体系和技术力量程累?
我们的资金及实力资源有哪些?
..........
基于更多的,类似于这些问题的思考,就会影响我们的架构选型,到底我们是用java还是C#,用oracle还是sqlserver,用mongodb还是redis等等。
最终我们会选择出最适合自己的架构选型。
那么,结亲网用的是C#,webapi,sqlserver
[b]
2、业务架构[/b]
项目的实施是为了解决实际问题。所以,对于业务的了解和深入及精通,这整个探讨过程,我称之为业务架构。
业务架构主要的成果是思维上和文档上进行体现。
那么针对结亲网,分析整个网站的业务需求,与市场的对应关系,要解决的业务问题,就是我们日常要思考和探讨的话题,整个交互过程,最终要形成文字性的需求文档,甚至demo。
[b]3、系统架构[/b]
针对系统选型,以及业务模块的分析,那么系统架构就呼之欲出。
我们要怎么划分系统的底层模块?
我们要怎么建立各个子系统之间的联系?
我们要怎么控制链接安全?
我们要怎么传输数据和访问数量?
。。。。。。
经过一系列的思考,就会得出我们的业务构架模式。
以结亲网为例,我们的系统架构是这么搭建的。
子系统分为OA内部系统、外部全站的jieqin8.com系统、WCF框架、微信支付宝等接口模块、系统的通过核心框架,以及大家常见业务层、数据访问层、实体层等模块。
[b]4、技术架构[/b]
技术架构水到渠成。
业务构架中,我们已经对业务整体进行了分析,那么,业务既然分析出来了,那总要使用代码去实现吧?!
so,技术架构应该在俯视全局的基础上,做好面向对象的业务抽象,为整个网站做好扩展和解耦基础。
结束寄语
架构是项目系统实施的整个思维过程。他不是一件容易的事。
需要架构师能够充分把握业务需求,对行业及项目具有前瞻性的眼光,对抽象思维有精深的能力,应对变化有足够的反应,这样才可以把一个项目架构做好。
程序之路漫长,祝大家财源滚滚。
相关文章推荐
- 到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)
- AVI中AVISTREAMINFO结构中的dwScale,dwRate到底有什么分别呀,应该怎么理解?
- 设计师应该怎样理解信息架构
- 从信息架构谈起—更好地理解产品策划
- spark与hadoop架构比较理解链接
- 业务、架构、技术,我们应该关注什么
- RESTful 是什么?一起来理解 RESTful 架构
- 高性能并发系统架构应该如何设计?关键是什么?12306
- Thrift架构~thrift中间语言的认识(只有它什么都不是,它才有可能什么都是)
- QL语句通常不是很容易理解,特别是你阅读别人已经写好的语句。因此,很多人指出我们应该遵循在其他语言中遵循的原则,像加上注释和功能模块化。我最新注意到一个很多人都没有使用的Postgres关键特性,也就
- 业务、架构、技术,我们应该关注什么
- 到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)
- 浅谈应该如何理解Oracle的架构知识
- 一个软件系统的架构到底应该包含些什么?
- 初学C++到底应该用什么工具比较合适——工具简析
- 到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)
- 到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)
- 第四回 基类中的修饰符,应该根据你对架构的理解去定义它们,没有绝对的
- 疑问:??? 我应该怎样理解 MBR和 grub 呢??? 什么是启动引导程序???