当前位置:   article > 正文

MVC模型(C++)_c++ mvc

c++ mvc

MVC模型是(model模型 view视图 controller控制器)是一种软件设计的框架模式,它采用model-view-controller的方法把业务逻辑,数据与视图显示分离,把众多的业务逻辑集合在一个部件里。当然这样并不能让我们理解它,简单的说,就是一种把数据模型,视图显示与人机交互三者分离开的一种编程方式。

为什么要引入MVC模型呢? 

(1)可以使同一个程序使用不同的表现形式,如果控制器反馈给模型的数据发生了变化,那么模型将及时通知有关的视图,视图会对应的刷新自己所展现的内容

(2)因为模型是独立于视图的,所以模型可复用,模型可以独立的移植到别的地方继续使用

(3)前后端的代码分离,使项目开发的分工更加明确,程序的测试更加简便,提高开发效率

其实控制器的功能类似于一个中转站,会决定调用那个模型去处理用户请求以及调用哪个视图去呈现给用户

在实现这个程序之前,有一点需要先给大家提前讲解一下。因为我们已经知道,这里面最少要自定义三个头文件,那么这三个头文件该如何互相去引用呢?

示例:

  1. /A.h
  2. #ifndef A_H
  3. #define A_H
  4. class A{
  5. B* b;
  6. };
  7. #endif
  8. A.cpp
  9. #include"A.h"
  10. *********
  11. *********
  12. B.h
  13. #ifndef B_H
  14. #define B_H
  15. class B{
  16. A* a;
  17. };
  18. #endif
  19. /B.cpp
  20. #include"B.h"
  21. *********
  22. *********

假设现在有两个头文件需要相互引用,我们该如何去引用呢?

错误示范: 

  1. /A.h
  2. #ifndef A_H
  3. #define A_H
  4. #include"B.h"
  5. class A{
  6. B* b;
  7. };
  8. #endif
  9. A.cpp
  10. #include"A.h"
  11. *********
  12. *********
  13. B.h
  14. #ifndef B_H
  15. #define B_H
  16. #include"A.h"
  17. class B{
  18. A* a;
  19. };
  20. #endif
  21. /B.cpp
  22. #include"B.h"
  23. *********
  24. *********

正确示范:

  1. /A.h
  2. #ifndef A_H
  3. #define A_H
  4. class B;
  5. class A{
  6. B* b;
  7. };
  8. #endif
  9. A.cpp
  10. #include"A.h"
  11. #include"B.h"
  12. *********
  13. *********
  14. B.h
  15. #ifndef B_H
  16. #define B_H
  17. class A;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/823073
推荐阅读
相关标签
  

闽ICP备14008679号