• 《Head First设计模式》 读书笔记13 复合模式 MVC模式


     

    《Head First设计模式》 读书笔记13 复合模式 MVC模式

     

      复合模式(Compound Pattern)结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。

     

    问题与解决方案

      有一群会叫的鸭子。

      想要在使用鸭子的地方使用鹅——适配器模式

      统计呱呱叫的次数——装饰者

      控制生产各种不同类型的鸭子——抽象工厂模式

      作为一个整体来管理鸭子——组合模式、迭代器模式

      观察个别鸭子的行为——观察者模式

    MVC复合模式

      Model-View-Controller :模型-视图-控制器,复合模式。

      MVC是由数个设计模式结合起来的模式。

                           

      例子:MP3播放器。

     

     

     

    M,Model模型:

      模型持有所有的数据、状态和程序逻辑。

      模型没有注意到视图和控制器,虽然它提供了操纵和检索状态的接口,并发送状态改变通知给观察者。

    V,View 视图:

      视图用来呈现模型。

      视图通常直接从模型中取得它需要显示的状态与数据。

    C,Controller 控制器

      控制器取得用户的输入并解读其对模型的意思。

      控制器把控制逻辑从视图中分离,让模型和视图之间解耦。通过保持控制器和视图之间的松耦合,设计就更有弹性而且容易扩展。

     

    MVC中的设计模式

      模型利用观察者模式让控制器和视图可以随最新的状态改变而更新。

      模型对视图和控制器一无所知,它们之间是完全解耦的,模型只知道有一些观察者它需要通知。模型还提供一些接口,供视图和控制器获得并设置状态。

      视图和控制器实现了策略模式。控制器是视图的行为,如果你希望有不同的行为,可以直接换一个控制器。

      视图内部使用组合模式来管理窗口、按钮以及其他显示组件。

    实例

      利用MVC控制节拍。

      如果需要更换另一个相似的模型(比如把节拍模型更换成心跳模型),使用适配器模式将模型适配成符合现有视图和控制器的模型。

    MVC与Web

      Web开发人员适配MVC,使它符合浏览器/服务器模型。我们称这样的适配为Model 2

     

      

    Model 2:你的手机也可用DJ程序

      要把原来Web版的改为手机Web版:

      模型不需要修正;

      创建Servlet控制器。我们需要一个简单的Servlet,可以接收HTTP请求,并对模型进行一些操作。

      创建HTML视图。我们用JSP创建一个简单的视图。它会从控制器中收到一个JavaBean,从这个Bean就可以得知它所有需要显示的东西。然后JSP将产生一个HTML界面。

  • 相关阅读:
    C/C++各种类型int、long、double、char表示范围(最大和最小)
    XSS学习笔记(五)-XSS防御
    组态Log4j(非常具体的)
    C#抽象类其中创建一个静态方法
    DirectSound应用
    谈论Hibernate级联删除——JPA根据Hibernate实现许多级联删除CascadeType.DELETE_ORPHAN
    failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
    英语语法总结---一、英语中定语放在哪
    windows常用命令有哪些(整理)
    css如何实现垂直居中(5种方法)
  • 原文地址:https://www.cnblogs.com/mengdd/p/3070677.html
Copyright © 2020-2023  润新知