精华内容
下载资源
问答
  • 几种常见的ViewResolver视图解析器

    千次阅读 2018-02-06 11:49:20
      1.几种常见的ViewResolver视图解析器  在Spring MVC 4控制器中,...Spring中的视图视图解析器处理这个逻辑视图名称,Spring以下几种视图解析器:  AbstractCachingViewResolver:用来缓存视图
    
     1.几种常见的ViewResolver视图解析器

        在Spring MVC 4控制器中,所有的处理方法必须返回一个逻辑视图名称,无论是显式的(返回String,View或ModelAndView)还是隐式的。Spring中的视图由视图解析器处理这个逻辑视图名称,Spring有以下几种视图解析器:

      AbstractCachingViewResolver:用来缓存视图的抽象视图解析器。通常情况下,视图在使用前就准备好了。继承改解析器就能够使用视图缓存。



    XmlViewResolver :XML视图解析器。它实现了ViewResolver接口,接受相同DTD定义的XML配置文件作为Spring的XML bean工厂。




    ResourceBundleViewResolver:它使用了ResourceBundle定义下的bean,实现了ViewResolver接口,指定了绑定包的名称。通常情况下,配置文件会定义在classpath下的properties文件中,默认的文件名字是views.properties。




    UrlBasedViewResolver:它简单实现了ViewResolver接口,它不用显式定义,直接影响逻辑视图到URL的映射。它让你不用任何映射就能通过逻辑视图名称访问资源。




    InternalResourceViewResolver:国际化视图解析器。




    VelocityViewResolver /FreeMarkerViewResolver:Velocity或FreeMarker视图解析器。




    ContentNegotiatingViewResolver:内容谈判视图解析器



        在JSP视图技术中,Spring MVC经常会使用 UrlBasedViewResolver视图解析器,该解析器会将视图名称翻译成URL并通过RequestDispatcher处理请求后渲染视图。


    <bean id="viewResolver"        class="org.springframework.web.servlet.view.UrlBasedViewResolver">    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>    <property name="prefix" value="/WEB-INF/views/"/>    <property name="suffix" value=".jsp"/></bean>
        假如我们配置了如上所示的URL视图解析器,我们返回了一个叫“favmvc”的视图名称,视图解析器就会将请求转发到RequestDispatcher,然后跳转到/WEB-INF/views/favmvc.jsp页面。


        假如我们想要在应用中使用不同的视图技术,我们就应该使用 ResourceBundleViewResolver。
    <bean id="viewResolver"        class="org.springframework.web.servlet.view.ResourceBundleViewResolver">    <property name="basename" value="views"/>    <property name="defaultParentView" value="parentView"/></bean>


        ResourceBundleViewResolver对于每个要处理的视图,都会检查 ResourceBundle中basename的唯一性,它使用 [viewname].(class)作为视图类,[viewname].url作为视图的url。
    展开全文
  • 【UML】UML常见几种视图

    千次阅读 2017-03-26 13:57:15
    如果说UML是一种语言,那么其最大的特征就是可视化,一种可视化语言,几种不同的视图从不同的角度展示了软件产品的方方面面的特征。UML视图分为两类,静态视图和动态视图,静态视图包括用例图、类图和包图,描述结构...

    如果说UML是一种语言,那么UML的基本词汇包括参与者、用例、边界、类、包、组件、节点等,而UML视图便是其语法,将基本元素组织起来,形成有意义的句子。如果说UML是一种语言,那么其最大的特征就是可视化,一种可视化语言,几种不同的视图从不同的角度展示了软件产品的方方面面的特征。UML视图分为两类,静态视图和动态视图,静态视图包括用例图、类图和包图,描述结构型特征,决定了能做什么,动态视图包括活动图、状态图、时序图和协作图,不能够独立存在,必须特制一个静态视图或UML元素,描述了行为型特征,决定了怎么做,下面从静态视图的用例图开始说起。

    1、用例图

    用例图采用参与者和用例作为基本元素,以不同的视角展现系统的功能性需求。用例图是了解系统的第一个关口,人们通过用例图得知一个系统将会做什么。对客户来说,用例图是它们业务领域的逻辑化表达,对建设单位来说,用例图是系统蓝图和开发的依据。业务用例图是一种用例图,使用业务主角和业务用例展现业务建模的结果,展现了业务系统的功能性需求,如果要描述这些需求的实现途径,则需要借助于业务用例实现图,后者体现了软件工程中需求可追溯的原则。通常来说,即使只有一种实现途径,绘制业务用例实现图也是一种好的建模方法,当有多个实现途径时,如果我们用业务对象和业务过程进行分析,就会发现其中有复用的对象和重叠的过程,这时可以用概念实例图,以业务实例为基本单元,用于展现业务用例分解而来的几个概念用例,它们的关系可能是扩展、包含或精化。概念用例图虽不是必须的,但对于一个复杂的业务用例来说,有助于我们的理解。与业务用例图对应的还有个系统用例图,前者是从用户的角度出发的,后者则是从计算机系统的角度考虑的,同理还有个系统用例是下图。

    2、类图

    类图用于展示系统中的类及其相互之间的关系,本质上说,类图是现实世界问题领域的抽象对象的结构化、概念化、逻辑化描述,包括三个层次,从概念层到说明层,再到实现层,随着抽象层次逐步降低而逐步细化。在概念层上,类图着重于对问题领域的概念化理解,而不是实现,因此类名称都是问题领域实际事物的名称,独立于实现语言和实现方式。说明层类图表达的类和类关系应当是对问题领域在接口层次抽象的描述,通常都非常粗略,虽然表达了计算机的观点,但是在描述上却采用了近似现实世界的语言,以保证从现实世界到代码实现的过渡。实现层类图中的类直接映射到可执行代码,明确采用哪种实现语言、什么设计模式、什么通信标准、遵循什么规范等。

    3、包图

    包图一般用来展示高层次的观点,范围较广,或者可以理解为是一种容器,包装其它范围较小的元素。

    4、活动图

    活动图描述了为了完成某一个目标需要做的活动以及这些活动的执行顺序,实际上描述的是业务流程,是一种过程化的分析方法,UML中由两个层面的活动图,一种用于描述用例场景,另一种用于描述对象交互。活动用例图是最经常使用的,用例表达了参与者的一个目标,用例场景则描述了如何来达到这个目标,活动图用来描述用例场景,也就是通常所说的业务流程。对象活动图用于展示对象的交互。活动图描述了业务流程中活动的执行顺序,却没有描述出谁来执行这些活动,即执行业务流程的职责被遗漏了,在面向过程的分析观点里,对象职责是不重要的,重要的是业务的执行过程,而在面向对象的分析里则与之相反,业务的执行过程不是重要的,对象职责才是最重要的,于是引入了泳道技术,就像一个游泳运动员只能在一个泳道里进行比赛一样,一个对象也只能在一个业务流程中担任一个或一类职责,多多少少解决了活动图不能描述对象职责的遗憾。

    5、状态图

    状态图显示一个状态机,状态机用于对模型元素的动态行为进行建模,更具体地说,就是对系统行为中受时间驱动的方面进行建模。通常使用状态图来说明业务角色或业务实体可能的状态,即导致状态转换的事件和状态转换引起的操作。状态图常常会简化对类的设计的确认。对于类的对象所有可能的状态,状态图都显示它可能接受的消息、将执行的操作和在此之后类的对象所处的状态。需要注意的是,状态图通常只用于描述单个对象的行为,如果要描述对象间的交互,最好采用时序图或协作图。

    6、时序图

    时序图用于描述按时间顺序排列的对象之间的交互模式,按照参与交互的对象所具有的生命线和它们相互发送的消息来显示这些对象。通常我们使用时序图来描述用例实现,通过贡献该用例实现的对象之间的交互来说明用例是如何被对象实现的。使用时序图来描述用例实现是一种从现实世界到对象世界的映射方法,它对我们确定对象职责和接口有着显著的作用,而对象的核心就是职责和接口。时序图和协作图是可以相互转换的,与协作图不同的是,时序图强调消息事件的发生顺序,更方便于阐述事件流的过程,但是时序图却难以表达对象之间关系。

    7、协作图

    协作图描述了对象之间交互的一种模式,通过对象之间的连接和它们相互发送的消息来显示参与交互的对象,与时序图不的是,协作图因为展示了对象间的关系,使得它更容易获得对对象结构的理解,而时序图更适用于获得对于调用过程的理解。

    展开全文
  • 这不,今天和大家分享下关于 react 驱动 ui 更新的几种方式,都说 react 是单向数据流,数据驱动 ui,那么你知道在 react 中有几种驱动视图更新的方式呢。 1. setState setState 是众所周知最常见的更新视图方式了...

    前言

    刚为祖国母亲庆完生,眼看假余额就要不足了,小伙伴们玩的是否开心呢,反正我是死宅在家,没出去玩,在家也没好好学习,实属惭愧。这不,今天和大家分享下关于 react 驱动 ui 更新的几种方式,都说 react 是单向数据流,数据驱动 ui,那么你知道在 react 中有几种驱动视图更新的方式呢。

    1. setState

    setState 是众所周知最常见的更新视图的方式了,只需要给个初始 state,需要更新的时候调用 this.setState, 组件会经历 shoudlComponentUpdate => componentWillUpdate => render => componentDidUpdate 四个过程,如果没有在 shouldComponentUpdate 中手动 return false 的情况下,那么 ui 此时就会更新。

    需要注意的是,尽管 this.setState({}) 参数为空对象时,react 一样会更新,调用上面的四个生命周期,只是 ui 视图不有会变化。

    当然这些都要基于 class 组件,因为 setState 是 Component 原型上的方法,必须得是继承 Component的组件才能调用 this.setState。(之前有写过一篇关于setState的文章,感兴趣的大佬也可以去看看。)

    2. forceUpdate

    Calling forceUpdate() will cause render() to be called on the component, skipping shouldComponentUpdate(). This will trigger the normal lifecycle methods for child components, including the shouldComponentUpdate() method of each child. React will still only update the DOM if the markup changes.

    官方说的比较清楚,调用 forceUpdate 后当前组件会跳过 shouldComponentUpdate 这个钩子,尽管手动 return false,也一样会更新,单词字面理解也是强制更新,但是需要注意的是,子组件的更新还是会受到 shouldComponentUpdate 控制。

    Normally you should try to avoid all uses of forceUpdate() and only read from this.props and this.state in render().

    forceUpdate的使用场景一般是视图更新来源于其他非 state、props的数据,比如绑定在 组件实例上的属性,或者是直接修改 this.state.xxx = xxx ,然后调用 this.forceUpdate(),不过官方不建议这么做,正常情况下应该避免使用 forceUpdate,通过 state 或者 props 去更新视图。

    3. 原生操作dom

    在 react 中难免会有操作原生 dom 的时候,比如你用了第三方比如 jquery 这种需要获取 dom 的库,或者你需要实现一个拖拽,双指缩放的组件,对于这些,你也许可以用操作的 dom 的方式绕过 react 的 setState 再到 dom diff 一系列的计算,直接更新 dom ,提高些许性能。

    以上三种更新 ui 的方式,我这边有个Demo, 需要注意的是,当通过 setState 更新改变颜色变红,在点击原生 dom 按钮改变颜色变绿,这时在点击 setState 的按钮,发现视图不更新,但是还是走了 render 函数,这是因为点击原生 dom 按钮前, this.state.backgroundColor 值是 red,原生操作是直接改变的 dom style,在点回 setState 按钮,其实 this.state.backgroundColor的值还是 red, 虽然走了更新逻辑,但是由于 react 的 新老 virtual dom 对比的时候,发现颜色并没改变, 导致没有 patch 到 ui 上

    4. dispatch action

    上面的几种方式都是通过 react 本身自带的 state 去更新 ui, 当项目中使用 redux 时, 我们一般会通过 dispach 一个 action, 改变 store,然后更新 ui,dispatch action 是通过改变 props 去驱动视图的,大家在使用的时候有没有想过为什么 this.props.dispatch({ type: 'xxx' }), 就可以驱动 ui 视图更新呢?

    这边简单的讲下,当我们dispatch 一个 action 的时候, 调用的其实是 store.dispatch,这个都没问题,store.dispatch 会去跑一遍所有注册在 createStore 中的 reducer, 找到对应的 type 更新数据,返回一个新的 state。

    而我们的组件想拿到 store 的数据必须通过 connect(mapStateToProps, mapDispatchToProps)(App) 像这样,react-redux 中的 Connect 组件会在 componengDidMount 的时候去 调用 一个 trySubscribe 的方法,其内部调用 store.subscribe 去订阅一个 handleChange 的方法。

    所以当你 dispatch action 的时候,就会触发 Connect 组件中的方法, Connect 组件中也维护了一个叫做 storeState 的 state,每次拿到新的 sotre 就去调用 setState, 触发 render 函数, render 函数会根据你 connect 中传入的 mapStateToProps, mapDispatchToProps,包括可选参数 mergeProps, 去做一个 props 的合并动作, 最终在 Connect 组件内部 return 出来一个 createElement(WrappedComponent,this.mergedProps) 这样的东西,而 createElement 第二个参数就是你组件的 props, 那么每次 props 变了,就会驱动视图的更新。这就是 Redux 其中的中做原理,当然这边描述的比较简短, 下次单独写一篇关于 react、 redux、 react-redux 的文章。

    总结

    1. 通过调用 this.setState 改变 state 驱动视图。
    2. 通过调用 this.forceUpdate 强制更新视图。
    3. 通过操作原生 dom 更新视图。
    4. 通过改变 props 驱动视图(redux 或者 修改父子组件传递 props )。
    展开全文
  • 转自:http://itworktor.blog.163.com/blog/static/1752030292010928113232628/
    展开全文
  • 列举系统对接技术的几种常见方式

    千次阅读 2019-09-18 05:21:02
    系统对接最常见方式是接口方式...除了系统接口,是否还有其他方式,小编总结了集中常见的数据采集技术供大家参考,主要分为以下类: 一、CS软件数据采集技术。 C/S架构软件属于比较老的架构,能采集这种软件数据...
  • 我们的网页通常会个部分组成,一些公共的区域我们通常会做成PartialView(部分视图),但这些视图并不是完全固定的,所以还是需要 特定的Controller来控制。如果只是静态的html,虽然也可以做成PartialView,但...
  • 用Python演绎5种常见可视化视图

    千次阅读 2020-06-14 10:00:00
    作者:妄心xyx来源:简书用Python演绎5常见可视化视图通过本篇文章,你将学到:视图的分类,从哪些维度进行分类5种常见视图的概念,以及如何在Python中进行使用,都需要用到哪些函...
  • 所以我们要通过其他方式来动态改变ui视图,1、runOnUiThreadactivity提供的一个轻量级更新ui的方法,在Fragment需要使用的时候要用getActivity.runOnUiThread开启线程 这种方法最简单,方便更新一些不需要判断的...
  •  在最上一层,视图被划分为三个视图域:结构,动态行为,模型管理。 结构主要描述了系统中的结构成员及其相互关系。结构元素包括类,用例,构件和节点。结构元素为研究系统的动态行为奠定了...
  • IOS中的几种常见的扫描二维码方式(一、使用ZBar SDK)
  • 几种常见架构模式

    千次阅读 2015-12-01 00:19:10
    本节说的是几种常见架构模式。 AD: 6.2.2 几种常见架构模式 前文讲过,在实践中,人们总结出了一些常用的软件系统结构高层模式,以供应用系统设计时参考。这些模式包括:单服务两层/多层C/S;MVC结构
  • 面试中css常见几种问题。

    千次阅读 2018-05-15 14:58:09
    2016年毕业,计算机行业,接触前端是2014 年吧,要说总结,真的是除了在学校里做的个本的笔记外就没有了啦。从事前端工作两年多了,一点总结都没有,也是一直处于原生开发,react和vue的文档看了又看,却一直没有...
  • Toast.makeText的几种常见用法

    千次阅读 2016-08-17 11:36:25
    在学习android开发时遇到了Toast.makeText,因为对其不太明白,所以从网上查阅了相关的资料并且将Toast.makeText的几种常见的用法总结如下: 一、Toast总述 Toast 是一个 View 视图,快速的为用户显示少量的信息。 ...
  • springMVC中controller的几种返回方式

    千次阅读 2017-09-27 21:51:11
    Controller方法的返回值可以以下几种: 1、返回ModelAndView 返回ModelAndView时最常见的一种返回结果。需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置。 2、返回String 1)...
  • Toast 是一个 View 视图,快速的为用户显示少量...Toast 最常见的创建方式是使用静态方法 Toast.makeText 我使用的是 SDK 2.2 1. 默认的显示方式 Java代码 1 // 第一个参数:当前的上下文环境。可用getApplic...
  • 几种常见设计模式的理解

    千次阅读 2015-08-31 10:58:49
    几种常见设计模式的理解 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 最早提出“设计模式”概念的...
  • Java中遍历Map的几种方式

    千次阅读 2017-12-06 11:20:46
    Map中取值的三种常见方法: Map中提供给了一些常用方法,如keySet()、value()、entrySet()用于取出元素 keySet()方法:返回此映射中所包含的键的 set 视图(集合) public SetK> keySet() value()方法:返回此...
  • 几种常见的python的Web框架比较

    千次阅读 2019-07-23 15:11:25
    Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。Django本身是一个高级别的PythonWeb框架,它鼓励快速开发和干净、实用的设计。它是由经验丰富的开发人员构建的,它处理了Web开发中的许多麻烦,因此您可以...
  • CITA视图

    万次阅读 2019-04-22 09:52:57
    视图状态是执行器执行过程中读写的对象,常见视图状态模型 UTXO 及账户两。在 UTXO 模型中,由 UTXO 构成账本视图,每个交易在销毁旧有 UTXO 的同时创造新的 UTXO;在账户模型中,由账户构成世界状态视图,...
  • View布局的显示方式有几种?2. RelativeLayout的属性3. Design Support Library4. view系统架构 1. View布局的显示方式有几种? 1.1 线性布局(LinearLayout):就是一个ViewGroup以线性方向显示它的子视图...
  • 消息模式Toast.makeText的几种常见用法

    千次阅读 2014-03-17 13:08:34
    Toast 是一个 View 视图,快速的为用户显示少量的信息。 Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的...Toast 最常见的创建方式是使用静态方法 Toast.makeText 我使用的是 SDK 2.2 1.
  • Vue 组件间通信几种方式(完整版)

    千次阅读 多人点赞 2019-05-27 17:36:12
    一般来说,组件可以以下几种关系: 如上图所示,A 和 B、B 和 C、B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代)。 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所...
  • 开发时几种常见的建模工具

    万次阅读 2016-11-18 13:24:45
    通过表示这些在系统中的处理和描述它们交换的数据,使用ProcessAnalyst可以以一更加自然的方式描述 数据项 。 PowerDesigner DataArchitect 用于两层的即概念层和 物理层 数据库设计 和数据库构造。Data...
  • 常见几种UML图

    万次阅读 2009-01-13 09:44:00
    用例图的主要目的是帮助开发团队以一可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。用例图一般表示出用例的组织关系--要么是...
  • 由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的基于UI层面的自动化测试工具。趁晚上有空总结下,好记心不如烂笔头呀! 一 常见Android自动化测试框架及其应用  目前,Android基于UI层面的...
  • 5架构视图

    万次阅读 2019-03-06 16:29:37
    很少人对“架构”全面的了解和认识能并说清楚架构是什么,更谈不上掌握了。事实上,也只有极少数人能成为或者被冠以“架构师”这样的title。为此,笔者总结了对架构的一些理解,希望能够补充很多初入门的人在这...
  • 前端Ajax传参,后台接收参数的几种方式

    万次阅读 热门讨论 2019-09-24 10:08:14
    相关说明 格式说明: 1.... 2.... 3....(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。 注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。 timeout N...
  • 常见几种索引扫描的类型

    千次阅读 2013-03-16 23:26:55
    在网上找到这样几种常见的扫描的类型: 第一种: index unique scan  索引唯一扫描,当可以优化器发现某个查询条件可以利用到主键、唯一键、具有外键约束的列,或者只是访问其中某行索引所在的数据的...
  • 一、简介:  架构模式是一个通用的...是软件工程中的一软件架构模式,把软件系统分为三个基本部分:  模型(Model):负责存储系统的中心数据。  视图(View):将信息显示给用户(可以定义多个视图)。  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,577
精华内容 40,630
关键字:

常见的视图方式有几种