以前没有用过MVC,一直在用webform,但是用的都是原生的东西,没有使用服务端控件,通过ashx和页面交互,使用httpmodule过滤,于是我在想为什么不用MVC,我就准备把项目的设计模式换成MVC。
于是问题就来了,因为项目涉及 后台管理系统,和客户端,客户端又分为移动端和PC端,这下我不知道该如何处理项目的分层,该使用Areas分离呢还是在一个解决方案中建立三个MVC项目呢,三个项目分别是:服务端 PC端 移动端
如果分三个项目,那么PC端和移动端很多公用的代码,比如发送登录注册的请求不能发送到一个Action中了或者是可以发送到一个Action中只是我不知道方法,求教一下
没使用过areas分离整个项目,不太了解。刚入坑就在公司现有的项目上做改动的。
说一下我之前公司的做法和我自己的理解。
前端涉及模块:mvc中的controller和webform里面aspx,ascx。webform里面这两个应该是同一个概念,都是属于前端的内容,里面可以使用httprequest,获取一些请求数据。
后端涉及:mvc的model包含service和model模块,service用来处理业务,你可以把所有处理model,处理数据库的方法内容写在这个模块下面,这样的话,移动端和PC端就都能调用这一些方法了。
Controller->Service,ASPX->Service这两个概念是类似的。
然后就是移动端了,移动端的代码要写在API项目下面,主要是处理一些客户端请求的,在相应的api项目下面,引用service项目,和Controller公用相同功能的方法
意思是公用的业务逻辑都在PC端这个项目中
移动端写在API中,请求的时候就往PC端请求就行了是吗
有个小问题,为什么都要用WebAPI,是为了规范接口方便跨域吗
@追梦sss: 之前做.net的时候没有特别注意去看。应该是一些类库不一样,里面封装的功能不相同吧。
服务端用webapi,pc端和移动端调用相同的api就好了
我上面说错了,我说的服务端是指管理员的后台系统
你说的的确是个办法,你们都是这样布局项目的吗
现在的话,前后端分离,利用webapi来做;想用什么用什么,想让谁用,让谁用