惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
V
V2EX
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
F
Full Disclosure
Y
Y Combinator Blog
V
V2EX - 技术
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
SecWiki News
SecWiki News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
量子位
PCI Perspectives
PCI Perspectives
S
Secure Thoughts
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AWS News Blog
AWS News Blog
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
K
Kaspersky official blog
B
Blog
A
Arctic Wolf
Hacker News: Ask HN
Hacker News: Ask HN
L
LangChain Blog
T
Tor Project blog
P
Privacy & Cybersecurity Law Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
D
Docker
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
The Last Watchdog
The Last Watchdog
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy International News Feed
Simon Willison's Weblog
Simon Willison's Weblog

博客园 - 愚

Revit:二开使用Sqlite保存本地数据,并配合EF6等ORM框架 Revity:查找并修改类型参数和实例参数 复习一下UML Revit:ElementFilter过滤器基类 Revit:Element、Reference、ReferenceIntersector、ReferenceWithContext的理解 Revit:使用代码如何发出选点、选对象指令 Reivt:过滤器FilteredElementIterator,采集器FilteredElementCollector Revit:Transaction事务 Revit:弄清楚Application、UIApplication、UIDocument 、Document、DocumentSet之间的关系 Revit:IExternalCommand和IExternalApplication的区别 什么是假程序员 若我有一天 聊聊面试官那些事。。分享我的个人看法,认同的顶一顶。。。 提供一个中国身份证号码判断的类 分享一个自己写的取中国农历相关数据的类。包含:农历年月日,生肖,星座,年龄,天干,地支等方法 面向对象的全套“企业微信”api接口的代码实现,网上太多“面向过程”微信api接口的代码,这个开源给需要的人用 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下) (原创)面向对象的系统对接接口编写。第5篇(完结) (原创)面向对象的系统对接接口编写。第4篇
从结亲网 的架构谈起,谈什么架构, 我理解的架构。我想很多人理解的架构应该可能比较 狭义
· 2017-05-08 · via 博客园 - 愚

从结亲网 jieqin8.com  的架构谈起,谈什么架构,  我理解的架构


什么是架构?

什么是架构,谈下你项目中用的是什么样的架构?!!

What?这个问题怎么熟悉!!原来是在面试的时候经常面试官会问出这个问题。

然后,程序员们开始侃侃而谈,我用的是三层架构,我用的是MVC架构,我用的是WebApi架构,我分业务层,我分数据访问层,我分实体层,等等。。。。

然后似乎面试官也很满意你的回答。。。。。

那么架构真的是这样子吗?

楼主个人对架构的理解,它应该是这样子的:

  架构应该是整个项目体系所有思维过程的总称。

下面以结亲网(jieqin8.com)为例,讲解怎么理解这话的意思呢?


1、架构选型

结亲网的客户群体是谁?

结亲网的一段时间内的客户访问量会多少?

结亲网的理想市场客户数会有多少?

结亲网需要用到什么主要技术?

结亲网是否需要手机版本?

团队目前或短时间内能够拥有的资源有哪些?

我们具备什么的人才体系和技术力量程累?

我们的资金及实力资源有哪些?

..........

基于更多的,类似于这些问题的思考,就会影响我们的架构选型,到底我们是用java还是C#,用oracle还是sqlserver,用mongodb还是redis等等。

最终我们会选择出最适合自己的架构选型。

那么,结亲网用的是C#,webapi,sqlserver


2、业务架构

项目的实施是为了解决实际问题。所以,对于业务的了解和深入及精通,这整个探讨过程,我称之为业务架构。

业务架构主要的成果是思维上和文档上进行体现。

那么针对结亲网,分析整个网站的业务需求,与市场的对应关系,要解决的业务问题,就是我们日常要思考和探讨的话题,整个交互过程,最终要形成文字性的需求文档,甚至demo。


3、系统架构

针对系统选型,以及业务模块的分析,那么系统架构就呼之欲出。

我们要怎么划分系统的底层模块?

我们要怎么建立各个子系统之间的联系?

我们要怎么控制链接安全?

我们要怎么传输数据和访问数量?

。。。。。。

经过一系列的思考,就会得出我们的业务构架模式。

以结亲网为例,我们的系统架构是这么搭建的。

子系统分为OA内部系统、外部全站的jieqin8.com系统、WCF框架、微信支付宝等接口模块、系统的通过核心框架,以及大家常见业务层、数据访问层、实体层等模块。


4、技术架构

技术架构水到渠成。

业务构架中,我们已经对业务整体进行了分析,那么,业务既然分析出来了,那总要使用代码去实现吧?!

so,技术架构应该在俯视全局的基础上,做好面向对象的业务抽象,为整个网站做好扩展和解耦基础。

结束寄语

架构是项目系统实施的整个思维过程。他不是一件容易的事。

需要架构师能够充分把握业务需求,对行业及项目具有前瞻性的眼光,对抽象思维有精深的能力,应对变化有足够的反应,这样才可以把一个项目架构做好。

程序之路漫长,祝大家财源滚滚。