MVC架构和三层架构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MVC和三层架构
首先、它们很相似;MVC可分为:Model模型层、View视图层、Controller控制层;三层架构为:视图层、控制层、业务逻辑层+ 数据访问层。
如此分包法,层次上的结构虽清晰,而且很大程度地减少了模块之间的耦合度,但这样同时也添加了些许麻烦。小的项目这样分层,分包,不太符合实际;但对于大中型项目这样的分工是太有必要了,视图层、控制层、业务逻辑层、数据访问层,目前我们只要知道这是最合理的分层模式就可以了。
架构中,我们可以如此分布:
控制层+((模型层+ 数据访问层)+ 视图层)= 合理架构。
数据模型层
顾名思义,用来和数据库进行连接交互,SQL语句当然应该置于此。
模型层中数据访问模块的功能如下:
1)实现数据的读取与存储操作。
2)实现事务处理。
界面视图层
主要是处理和用户进行交互的界面,显示结果或者接受输入。
视图层中用户界面模块的功能如下:
1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。
2)对于输入的数据进行数据校验,过滤非法数据。
3)向业务层发送处理请求。
业务控制层
进行各种逻辑判断。也就是业务逻辑的封装,如有一客户要下一个用账户付款的订单,但该客户账户内的余额不够,则不该允许此客户下订单,这种逻辑就应放在业务层。
业务层中业务处理模块的功能如下:
1)实现各种业务处理逻辑或处理算法。
2)验证请求者的权限。
3)向数据层发送数据操作的请求。
4)向用户层返回处理结果。
针对每一层可以设计一个或多个模块,每个模块完成相对独立的功能。
逻辑架构总结
逻辑架构定义了如何分离应用程序中不同的代码。一个好的逻辑架构的目的是使代码更容易维护、理解和可重用性。而物理架构的定义则指定了运行应用程序的电脑,一个好的物理架构目的在于使系统在性能、可扩展性、安全性和容错能力之间取得最好的平衡,来满足你的特定环境。
分层架构的主要优点是分化了系统的复杂度,同时也提高了系统的灵活性(这点从系统同时满足各种类型数据库即可看出),另外,分层架构大大提高了系统的可维护性和可扩展性。但是,分层架构在众多优点的背后也隐藏着缺点,由于层次的增多,同一个解决方案下项目也多,过多的跨项目访问对应用程序的效率有一定的影响,但这一点现在可以在越来越快的硬件提升速度中忽略。