zoukankan      html  css  js  c++  java
  • 从结亲网 的架构谈起,谈什么架构, 我理解的架构。我想很多人理解的架构应该可能比较 狭义



    从结亲网 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,技术架构应该在俯视全局的基础上,做好面向对象的业务抽象,为整个网站做好扩展和解耦基础。


    结束寄语


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


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


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





  • 相关阅读:
    SGU 176.Flow construction (有上下界的最大流)
    POJ 2391.Ombrophobic Bovines (最大流)
    poj 1087.A Plug for UNIX (最大流)
    poj 1273.PIG (最大流)
    POJ 2112.Optimal Milking (最大流)
    SGU 196.Matrix Multiplication
    SGU 195. New Year Bonus Grant
    关于multicycle path
    ppt做gif动图
    codeforces 598A Tricky Sum
  • 原文地址:https://www.cnblogs.com/mazhiyuan/p/6824382.html
Copyright © 2011-2022 走看看