1,区别:
MVC和三层架构是完全不同的2种设计规范。但是核心一致:分层,解耦。
若要区分,根据http://blog.csdn.net/beijiguangyong/article/details/7029257所述的图,更好理解。
2,MVC (Model View Controller)
i>概念:
①M - 模型(model) :
应用程序核心,处理应用程序数据和逻辑。
负责在数据库中存取数据。
②V - 视图(view):
处理数据显示;
依据模型数据创建的、用于显示数据。
③C - 控制器(controller):
处理用户交互(输入)
负责从视图读取数据,控制用户输入,并向模型发送数据。比如:写入数据库记录
④联系:
ii>MVC与设计模式
MVC是复合模式,结合了:观察者模式、策略模式、组合模式。
①复合模式:
结合两个或两个以上的模式,组成一个解决方案,解决一再发生的一般性问题。
②从设计模式的角度看待M、V、C关系
③观察者模式:
模型是被观察者。
同一个模型可同时使用多个视图,当状态改变时,相关对象将持续更新。
④策略模式:
控制器是视图的策略。
视图只关心系统中可视的部分,对于任何界面行为,都委托给控制器处理。
控制器负责和模型交互来传递用户请求,对于工作是怎么完成的,视图毫不知情。
⑤组合模式:
视图使用组合模式实现用户界面。
用户界面通常组合了嵌套的组件,像面板、框架和按钮。
3,三层架构
①UIL - 界面层(User Interface layer):
显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
表示为WEB方式、WINFORM方式。
②BLL - 业务逻辑层(Business Logic Layer):
对数据层的操作,对数据业务逻辑处理。
③DAL - 数据访问层(Data access layer):
对数据库的操作。