MVC5项目大体的架构

在网上学习很很多人的文章,都是将MVC5项目作为最上面的一层的子项目。而整个工程内包含多个不同层级的项目。

工程结构图:

MVC5项目大体的架构

最左边的mvc5项目,中间的是BLL,右边的是DAL。其中关于MVC的这些名字不要在意这些细节,可以将其理解成三层架构,而mvc只是其中视图层的一种模式。

另外两个项目不属于mvc5的范畴,这里不做记录。

直到现在对于mvc5都还是概念上的印象,用vs2013新建一个mvc5的项目,了解项目的结构和它的工作原理是开展代码编写之前的必要工作。

项目图:

MVC5项目大体的架构

App_Data:这个文件夹就是来放本地的存储文件的,比如数据库文件,xml数据文件之类的

App_start

其中 BundleConfig是注册项目中要用到的CSS,JS文件的,一定不要忘记注册了再到代码里引用了使用。FilterConfig是一个删选器。RouteConfig是一个路由器,我们在项目里使用相对路径访问,这个可以暂时不用管它。Startup.Auth包含一些安全认证和认证方式。

Content:这个文件夹用来存放一些静态的文件,比如CSS,Image。

Controllers:这里面的文件都是叫做控制器,必须以Controller结果,所以看文件名的时候可以选择性忽略Controller。这里的控制器与mvc架构中的差不多:

  1. 做与视图(网页文件)的映射。每一个Controller都与Views文件里的一个同名(没有“Controller”)文件夹映射,当使用“~/xxx1/xxx2”这样的相对路径访问跳转到指定视图的时候,先去寻找这个“xxx1”控制器,然后在里面找有没有一个叫“xxx2”的方法,这个方法用来返回对应路径的视图文件。所以在对应控制器的视图路径下新建视图后,一定要去对应控制器里添加一个与视图同名的返回的方法。

    控制器:

    MVC5项目大体的架构

    与视图Test同名的方法:

    MVC5项目大体的架构

  2. 做界面数据的接口,我们界面上一般采用流行的ajax来同步数据。所以在不实用mvc5自己的数据绑定之后,controller成为一个可以被js调用的方法接口,我们在controller提供能够返回数据的方法,在界面层使用js调用这些方法,再显示到界面上,就能达到ajax的效果。

Fonts:web项目显示中可能会用到的一些字体文件。

Models:这就是mvc5中的m了,模型。但是我们更喜欢喊他真实的名字实体集。其实它跟模型木有半毛钱关系,不是用来查询数据库、封装事务的,而是放置一些界面需要使用的数据实体。

Scripts:JS就放在这里面。记得到前面的BundleConfig注册哟。。。

Views:视图了,这个是真正的视图,就是存放我们的前端文件的地方。具体在下节打字。

了解了项目的结构之后,我们就能清晰的知道将对应的代码放在哪里,怎么让界面跑起来,怎么给界面传输数据了。




你可能感兴趣的:(MVC5,工程架构)