MVC全名:Model View Controller是模型、视图、控制器的缩写,分别代表Web应用程序只能当个三种职责 1.模型:一个或多个JavaBean对象,用于村相互数据(实体模型。由JavaBean类创建)和处理业务逻辑(业务模型,由一般的Java类创建) 2.视图:一个或多个JSP页面,想控制其提交数据和为模型提供数据显示,JSP页面主要使用HTML标记和JavaBean标记来显示数据。 3.控制器:一个或多个Servlet对象,根据视图提交的请求进行控制,即将请求转发个处理业务逻辑的JavaBean,并将处理结果存放到实体模型JavaBean中,输出给视图显示。 优点: 1.视图重用。多喝师徒能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。 2.松散耦合。由于MVC的三个模块峡谷独立,改变其中一个不会影响其他两个,所以一局这种设计思想能构造良好的松耦合的构件。 3.灵活性。控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。 缺点:1.增加了系统结构与现实的复杂性。对于简单的界面,严格遵守MVC,使模型、试图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。 2.试图与控制器间的过于紧密的连接。视图与控制器是相互分离的,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。 3.试图对模型数据的低效率访问依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。MVC的使用会使我们的软件或系统在健壮性,代码重用和结构方面有很大的提升。但这并不时所有系统都适合使用MVC,它会带来额外的工作的复杂性,所以并不适合小型甚至中型等规模的系统或软件,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。
MVP:接触了View和ModUlead的耦合,同时又带来了良好的可扩展性,可测试性。 好处:UI可能随时改变,如果业务逻辑耦合在View中,UI修改会导致我们重新弄抽离View中的业务逻辑。MVP刚好帮我们完成了逻辑抽离。
区别: (1)MVC中是允许Model和View进行交互的,而MVP中很明显,Model和View之间交互有Presenter完成。 (2)Prensenter与View之间的交互是通过接口的。
内容来自b https://blog.csdn.net/github_33304260/article/details/53161277?utm_source=apphttps://blog.csdn.net/u010924897/article/details/43341927?utm_source=app