所在的位置: Web开发 >> HTNL >> 架构浅谈之MVC

架构浅谈之MVC

来自:AndroidDvlopr()

阅读本文大概需要6.66分钟。

很多人表示对架构没有任何概念,想了解下架构,但是看了网上的一些文章又觉得云里雾里,其实架构远没有那么难,今天从这篇文章开始我来给大家谈谈架构,争取让大家都看得懂。

1什么是架构?

对于架构,业界从来没有一个统一的定义,架构一词最初来自建筑业,假如我们要盖一栋大楼,那在完成这么一项重大工程之前肯定需要建造师的建筑图纸,而这建筑图纸可以说是建筑业架构的最核心体现,它描述了这栋大楼的外观、内部构造、户型设计、材料做法以及设备、施工等,有了建筑图纸,才能整体的规划整个工程,从大局出发,有序的推进项目的发展,最大程度的提高生产力。

所以归根结底,架构的目的就是为了提高生产力。而软件领域的架构主要体现在模块之间的「高内聚,低耦合」,这六个字听起来有点难以理解,其实通俗来讲就是单一职责的功能封装成模块,在模块内部高度聚合,模块与模块之间不会互相依赖,即低耦合。比如我们常用的网络库、图片加载库,这都是属于两个模块,在每个模块内部功能单一,代码高度内聚,但是网络库与图片加载库又不互相依赖,都可以独立工作,互不干扰,这就是所谓的低耦合。

而我们追求「高内聚,低耦合」的目的很简单,我们想让开发人员只专注于一点,提高开发效率的同时,也对代码的健壮性与扩展性有很大好处。试想,如果你做的功能需要同时跟四个部门进行合作,依赖于他们的模块,那么你的开发效率肯定奇低,而且依赖过高,其他部门的代码稍一改动很可能就会对你产生影响,而且问题还不容易定位,这将是一个定时炸弹。

所以,架构的重要性不言而喻,但是架构有一条原则:千万不要过度设计!

如果你盖的是栋大楼,你肯定需要建造师的建筑图纸,但是如果你盖的是一间茅草屋,你觉得你还需要请个建造师来先给你设计一张建筑图纸再开工么?可能花在设计建筑图纸的时间都够你盖完了。所以架构一定得看不同场景的需求,如果你的工程总共就十来个文件,那么你在开发的过程中运用各种设计模式、考虑各种分层,只会让原本简单的东西复杂化,还会增加工作量,这违背了架构的初衷。

最原始、最简单的东西反而是最高效的,只不过我们的项目慢慢变得庞大,那些最原始的框架与结构满足不了我们的需求了,这个时候我们必须从整体出发重新考虑整个项目的架构,通过架构来帮助我们提高生产力,减少重复繁杂的工作量,提升工作效率。

2三层架构

说到架构,就不得不谈到最经典的三层架构的概念,三层架构最初是微软提出的,并且推荐各应用程序都应该遵守这种分层方式,而现今大多数应用程序基本都遵守这三层分层式架构。这三层架构分别是:表示层、业务层、数据访问层。

我们拿访问一个网站来举个例子。你在浏览器输入一个网址,访问一个网站的时候,这中间经过了这么一个过程,用户在浏览器输入url,然后浏览器向Srvr发起一个







































北京白癜风医院
中科医院曝光



转载请注明:http://www.guyukameng.com/html/4056.html