经典的.cs-aspx.cs-aspx(代码隐藏/旁边)模型和新的MVC模型之间的基本区别是什么?
MVC和经典ASP之间的基本区别在于,在经典ASP中,应用程序的所有代码和标记都存在于.asp文件中.在MVC中,.aspx文件仅包含用于呈现页面的代码和标记.用于处理请求,检索模型数据和实施业务逻辑的应用程序的其余部分存在于控制器和模型类中.这些类比类ASP代码更容易测试,因为它与负责呈现视图的代码分开.
这种关注点分离是MVC模式的基础.根据模式,代码分为三个主要组件 - 模型,视图和控制器.模型中的类表示应用程序的业务对象,持久性框架和应用于业务对象的业务逻辑.控制器中的类接受传入的请求,使用输入或查询参数来检索适当的模型数据,并为要呈现的视图生成必要的数据.视图(aspx页面)获取控制器提供的数据并生成标记.
Webforms(代码隐藏)介于经典ASP和MVC模式之间.Webforms没有像MVC那样强制分离关注点,但它确实允许更多的代码存在于实际页面的"后面".例如,您可以从负责生成视图的代码中分离业务对象,业务逻辑和持久性框架(模型,如果您愿意).困难在于控制器动作(输入处理和模型检索)仍然与视图呈现代码链接.这种集成使测试此代码变得更加困难,并使视图/控制器代码更加依赖于彼此 - 关注点是"混合"而非"分离".一般来说,
希望这可以帮助.