精华内容
下载资源
问答
  • 开发程序的同时,引进的框架。。如果在使用该框架时,要继承框架提供的实体类或实现框架提供的接口,这就说明该框架是侵入式框架,因为程序本身对... 相反的非侵入式框架是轻量级框架的重要特点,如hibernate和sp...
        开发程序的同时,引进的框架。。如果在使用该框架时,要继承框架提供的实体类或实现框架提供的接口,

    这就说明该框架是侵入式框架,因为程序本身对框架有了依赖,当去除框架时,程序也就无法运行,这个

    也就是我们说的重量级框架,如struts1中,action和actionForm必须要继承Action和ActionForm

    一样.

    相反的非侵入式框架是轻量级框架的重要特点,如hibernate和spring,当我们想去掉hibernate

    spring框架时,只需修改相应的程序,程序仍可运行
    展开全文
  • 侵入式及非侵入式概念

    千次阅读 2019-07-21 22:46:49
    侵入式与非侵入式设计:在学框架时,经常会遇到侵入式设计与非侵入式设计?究竟是什么意思? 参考侵入式与非侵入式概念。 这两种设计,主要是基于系统扩展性以及依赖性来说的。 当我们用Struts2框架做系统时,...

    注:此篇博客的内容主要摘录自其他人的博客,并加以整理,下述会给出详细出处。

    侵入式与非侵入式设计:在学框架时,经常会遇到侵入式设计与非侵入式设计?究竟是什么意思? 参考侵入式与非侵入式概念
    这两种设计,主要是基于系统扩展性以及依赖性来说的。

    1. 当我们用Struts2框架做系统时,Action需要继承Struts2的一个基类,这样我的代码就被侵入了(基类中的部分内容和方法与我的设计内容不相关),如果将Struts2的jar包去掉,系统就挂掉了,这是一种侵入式的表现
    2. 如Spring Mvc架构中的Service层,离开Spring依然可以运行,通过配置完成依赖注入后就可以使用,此时,spring就没有侵入到我业务类的代码里,这种表现为非侵入式。

    当然,在实际设计中,真正能够做到完全非侵入式设计很难,只能尽量降低侵入程度。

    另外一篇博客的分析如下:

    开发程序的同时需要引进的框架。如果在使用该框架时,要继承框架提供的实体类或实现框架提供的接口,这就说明该框架是侵入式框架,因为程序本身对框架有了依赖,当去除框架时,程序也就无法运行,这个也就是我们说的重量级框架,如struts1中,action和actionForm必须要继承Action和ActionForm一样;
    相反的非侵入式框架是轻量级框架的重要特点,如hibernate和spring,当我们想去掉hibernate和spring框架时,只需修改相应的程序,程序仍可运行,

    展开全文
  • 侵入式设计和侵入式设计

    千次阅读 2014-09-12 08:41:14
    侵入式系介绍DI用语,我得理解是两个组件(类,接口)之间,比较独立,不深入到另一个类内部,哪位大虾能点拨一二?   关于“侵入式”和“非侵入式”设计 有读者讲“侵入式”这一术语无法理解,这里给一个...

    非侵入式系介绍DI用语,我得理解是两个组件(类,接口)之间,比较独立,不深入到另一个类内部,哪位大虾能点拨一二?

     

    关于“侵入式”和“非侵入式”设计

    有读者讲“侵入式”这一术语无法理解,这里给一个简单解释,是我个人的看法。

    在设计一个类时,按理说,需要考虑的应该只是该类所企图表示的那个“概念”本身:为表示有关概念应记录哪些信息,该类的对象与外界交换信息的界面等等。但定义这个类并不是为了放在那里观赏,而是为了使用。在考虑类对象的使用时,使用环境的一些要素就可能“侵入”这个类的设计之中。实际上,许多情况下我们常常可以在“侵入式”设计和“非侵入式”设计之间做一个选择,不同选择各有优缺点。在考虑非类的程序部分时,这种问题也同样存在。

    例如,我们可能需要对类A的对象做引用计数,这里有两种基本可能性:将计数功能纳入类A的设计内(侵入式引用计数设计,此时类A的对象中包含了与引用计数有关的要素,这显然是与类A所要表示的概念无关的东西),或者将计数功能放在类A之外(非侵入式引用计数)。

    本书中讨论容器时提出了“侵入式容器”设计和“非侵入式容器”设计的概念:当我们希望将类A的对象放入一种容器时,是否需要将该容器的实现要素“侵入”类A的设计实现之中(这显然是与类A本身并无必然关系的要素)。不同考虑导致不同的容器设计。  

     

    我基本上知道了,从夏大虾得著作中得知。
    比如struts,需要继承一些struts得类,这就是侵入式,使得系统离不开那个框架。
    而spring中,业务类不需要继承框架得类,将来抛弃spring也比较方便。
    楼上大虾(土豆块)能否谈下ejb与spring之间得关系。你用ejb吗?如果用了,感觉如何?

     

    非侵入式(non-intrusive)设计是目前非常热门的话题。在一般的讨论中,非侵入式设计总是和Spring这样的IoC容器或者AOP技术联系在一起。但是从思想上说,non-intrusive并不等价于IoC或者AOP,它是一个比AOP更加宽泛的概念。
          首先,我们考察一下何谓intrusive。典型的intrusive实现是继承特定的基类, 或者实现特定的接口. 在抽象的意义上说, intrusive意味着在基础结构中预留了一些特殊的,专用的结构, 这些结构对于基础功能而言不仅仅是无用的, 甚至是有害的, 例如影响性能或者模糊了原有的概念结构, 而系统整体的后期扩展能力也受到这些预设的结构通道的限制.
    non-intrusive设计的基本特点是尽量利用基础结构的元素, 而不是引入额外的特殊结构.例如, 在witrix平台的tpl模板中
    <button tpl:tag="ui:FlatButton" value="xx" οnclick="alert('ok')" />
    如果后台tpl引擎不解析<ui:FlatButton>标签, 那么该标签的表现就是普通的html button. 这里整个页面的界面表现结构没有被tpl标签所破坏,而如果像jsp tag那样强行规定必须采用节点语法, 即
    <ui:FlatButton value="xx" οnclick="alert('ok')" />
    则在没有tpl引擎的情况下, 界面结构被tpl标签所破坏,此时在dreamweaver这样的可视化工具中我们无法再识别出有效的界面元素, 丧失了WYSIWYG编辑的能力.
    tpl:tag属性属于html语法本身规定了的自定义属性, 它在html中的存在是符合规范的, 而且它对于button来说没有造成什么限制或损害, 因而是一种无害的标记. 在没有tpl模板引擎的情况下, tpl:tag属性与其他自定义属性一样处于同样的地位, 没有什么特殊的作用. 而一旦tpl模板引擎识别出该特殊标记, 整个节点就被解释成一个具有丰富表现形式的平面按钮而不是系统缺省风格的普通按钮. 从级列设计的角度上说, button对应于ui:FlatButton在没有tpl解析能力情况时退化了的结果. 在EJB3的规范中, 普通的POJO(Plain Old Java Object)对象在经过无害的标记(annotation)之后通过Enhance过程获得持久化等特性, POJO正对应于EJB Object的退化形式. 在某种意义上我们可以说, 存在着多少种可退化方式,就对应着多少种non-intrusive design。
          与传统设计中的结构堆砌不同, 现代技术更加强调在原有结构基础上的同态变化, 关注原有结构中的某些部分出现特殊意义后所产生的对称破缺. 在non-intrusive设计中, 基础的结构中没有为扩展内置什么特殊的结构, 一般仅仅是标记而已, 这些标记是无害的甚至本身在基础结构中是有用的, 例如某些javascript库在前台html页面中利用html标签的class属性作为标记. 为了识别这些属于结构标准部分的标记并对之进行处理,我们需要一种可选择的结构透明性, 具体来说我们需要能渗透到系统内部,准确的定位到标记处. 这就类似于x光检测, x光只与某些特殊材料发生强烈作用而普通部分对于x光而言是透明的. 而当外部引擎识别出这些特殊的标记之后, 可能需要操纵该局部结构, 例如在基础结构中插入一些新的结构以实现基础结构的增强. 这些都可能需要应用类似于AOP的技术, 而在这一增强过程中关于扩展结构的具体知识存在于扩展引擎中而不是基础结构中, 因而往往整体表现出一种IoC的特性.


    转自:http://hi.baidu.com/westsky/blog/item/46d452f0127cebaaa50f522f.html
    展开全文
  • 【转】非侵入式设计 和侵入式设计 意思? 非侵入式系介绍DI用语,我得理解是两个组件(类,接口)之间,比较独立,不深入到另一个类内部,哪位大虾能点拨一二? 关于“侵入式”和“非侵入式”  有...

    【转】非侵入式设计 和侵入式设计 意思?

    非侵入式系介绍DI用语,我得理解是两个组件(类,接口)之间,比较独立,不深入到另一个类内部,哪位大虾能点拨一二?

    关于“侵入式”和“非侵入式” 

    有读者讲“侵入式”这一术语无法理解,这里给一个简单解释,是我个人的看法。 

    在设计一个类时,按理说,需要的应该只是该类所企图表示的那个“概念”本身:为表示有关概念应记录哪些信息,该类的对象与外界交换信息的界面等等。但定义这个类并不是为了放在那里观赏,而是为了使用。在考虑类对象的使用时,使用环境的一些要素就可能“侵入”这个类的设计之中。实际上,许多情况下常常可以在“侵入式”设计和“非侵入式”设计之间做一个选择,不同选择各有优缺点。在考虑非类的程序部分时,这种问题也同样存在。 

    例如,我们可能需要对类A的对象做引用计数,这里有两种基本可能性:将计数功能纳入类A的设计内(侵入式引用计数设计,此时类A的对象中包含了与引用计数有关的要素,这显然是与类A所要表示的概念无关的东西),或者将计数功能放在类A之外(非侵入式引用计数)。 

    本书中讨论容器时提出了“侵入式容器”设计和“非侵入式容器”设计的概念:当我们将类A的对象放入一种容器时,是否需要将该容器的实现要素“侵入”类A的设计实现之中(这显然是与类A本身并无必然关系的要素)。不同考虑导致不同的容器设计。  

    我基本上知道了,从夏大虾得著作中得知。 
    比如struts,需要继承一些struts的类,这就是侵入式,使得系统离不开那个框架。 
    而spring中,业务类不需要继承框架的类,将来抛弃spring也比较方便。 
    楼上大虾(土豆块)能否谈下ejb与spring之间得关系。你用ejb吗?如果用了,感觉如何?

    非侵入式(non-intrusive)设计是目前非常热门的话题。在一般的讨论中,非侵入式设计总是和Spring这样的IoC容器或者AOP技术联系在一起。但是从思想上说,non-intrusive并不等价于IoC或者AOP,它是一个比AOP更加宽泛的概念。
          首先,我们考察一下何谓intrusive。典型的intrusive实现是继承特定的基类, 或者实现特定的接口. 在抽象的意义上说, intrusive意味着在基础结构中预留了一些特殊的,专用的结构, 这些结构对于基础功能而言不仅仅是无用的, 甚至是有害的, 例如影响性能或者模糊了原有的概念结构, 而系统整体的后期扩展能力也受到这些预设的结构通道的限制. 
    non-intrusive设计的基本特点是尽量利用基础结构的元素, 而不是引入额外的特殊结构.例如, 在witrix平台的tpl模板中
    <button tpl:tag="ui:FlatButton" value="xx" οnclick="alert('ok')" />
    如果后台tpl引擎不解析<ui:FlatButton>标签, 那么该标签的表现就是普通的html button. 这里整个页面的界面表现结构没有被tpl标签所破坏,而如果像jsp tag那样强行规定必须采用节点语法, 即
    <ui:FlatButton value="xx" οnclick="alert('ok')" />
    则在没有tpl引擎的情况下, 界面结构被tpl标签所破坏,此时在dreamweaver这样的可视化工具中我们无法再识别出有效的界面元素, 丧失了WYSIWYG编辑的能力.
    tpl:tag属性属于html语法本身规定了的自定义属性, 它在html中的存在是符合规范的, 而且它对于button来说没有造成什么限制或损害, 因而是一种无害的标记. 在没有tpl模板引擎的情况下, tpl:tag属性与其他自定义属性一样处于同样的地位, 没有什么特殊的作用. 而一旦tpl模板引擎识别出该特殊标记, 整个节点就被解释成一个具有丰富表现形式的平面按钮而不是系统缺省风格的普通按钮. 从级列设计的角度上说, button对应于ui:FlatButton在没有tpl解析能力情况时退化了的结果. 在EJB3的规范中, 普通的POJO(Plain Old Java Object)对象在经过无害的标记(annotation)之后通过Enhance过程获得持久化等特性, POJO正对应于EJB Object的退化形式. 在某种意义上我们可以说, 存在着多少种可退化方式,就对应着多少种non-intrusive design。
          与传统设计中的结构堆砌不同, 现代技术更加强调在原有结构基础上的同态变化, 关注原有结构中的某些部分出现特殊意义后所产生的对称破缺. 在non-intrusive设计中, 基础的结构中没有为扩展内置什么特殊的结构, 一般仅仅是标记而已, 这些标记是无害的甚至本身在基础结构中是有用的, 例如某些javascript库在前台html页面中利用html标签的class属性作为标记. 为了识别这些属于结构标准部分的标记并对之进行处理,我们需要一种可选择的结构透明性, 具体来说我们需要能渗透到系统内部,准确的定位到标记处. 这就类似于x光检测, x光只与某些特殊材料发生强烈作用而普通部分对于x光而言是透明的. 而当外部引擎识别出这些特殊的标记之后, 可能需要操纵该局部结构, 例如在基础结构中插入一些新的结构以实现基础结构的增强. 这些都可能需要应用类似于AOP的技术, 而在这一增强过程中关于扩展结构的具体知识存在于扩展引擎中而不是基础结构中, 因而往往整体表现出一种IoC的特性.

    展开全文
  • 【转】侵入式与非侵入式设计的含义 在设计一个类时,按理说,需要考虑的应该只是该类所企图表示的那个“概念”本身:为表示有关概念应记录哪些信息,该类的对象与外界交换信息的界面等等。但定义这个类并不是为了...
  • 渐进式框架的理解

    千次阅读 2020-07-23 16:41:46
    简单快速的理解什么是渐进式框架的理解 渐进式代表的含义是:主张最少。 每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的...
  • vue渐进式框架的理解

    千次阅读 2018-05-10 10:23:39
    每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。比如说,Angular,它两个版本都是强主张的,如果你用它,必须...
  • Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的...
  • 一、概述 1.1 背景介绍 ...目前市面上有很多优秀的开源mock框架:Mockito、PowerMock、EasyMock、JMockit等,但这些框架对于我们现在的业务场景及主要是在集成测试过程中使用,显然不是我们想要的。因为我们
  • SpringBoot、Jboot等框架开发的项目通常是以Jar的方式在后台运行的,如果只有一两个项目,管理起来不是太麻烦,但是当项目多了以后,管理起来就不是那么方便了,当项目出现问题时,能够通过Jpom即时排查问题,问题...
  • 侵入式的做法就是要求用户代码“知道”框架的代码,表现为用户代码需要继承框架提供的类。非侵入式则不需要用户代码引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。例如:使用struts的时候,我...
  •  Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开...
  • 框架

    2016-02-02 09:18:56
    在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共享资源库定义应用程序可以调用的函数和方法。  iOS为应用程序开发提供了许多可使用的框架,...
  • 作为JavaEE/SE的full-stack(一站)技术解决框架,他为MVC每一层都提供了有效的技术解决方案,更好的解放程序员的双手,使得猿们不用为单例对象创建,文件解析的繁琐的事情困扰,可以更专心于上层编写。 Spring的...
  • Spring MVC框架

    2019-10-23 18:16:13
    侵入式开发(尽量少使用框架特定API),易于测试。 1、含义: Spring MVC 是Spring框架的WEB组件,它是一种基于Java实现Web MVC的轻量级Web框架 2、Spring MVC的特点如下: 天生与Spring框架集成(如Ioc容器、Aop...
  • 侵入式:基于spring开发的应用中的对象可以不依赖于 spring 的 API。 依赖注入:依赖注入(Dependency Injection,DI)是控制反转(Inversion of Control,IOC)最经典的实现。 面向切面编程:面向对象编程...
  • 1、Spring帮助创建bean并统一管理这些bean ...4、关于Spring框架特点 (1)方便解耦,简化代码 (2)AOP支持 (3)方便测试(整合Junit4) (4)方便和其他的框架结合(也可以自己单独使用,整合框架如Struts
  • Vue.js 是一套构建用户界面(UI)的渐进JavaScript框架 库和框架的区别 我们所说的前端框架与库的区别? Library 库,本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者 代表...
  • Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另...
  • 作者:徐飞链接:...每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。比如说,Angular,它两个版本都是强...
  • 一、Spring的特点:(1)非侵入式编程 POIO,Plain Old java Object(2)容器(3)ioc(4)AOP二、Spring的下载结构:
  • Spring框架

    2017-12-22 09:10:56
    1.目的 Spring是一个轻量级的...2)非侵入式的编程,程序不需要实现框架的接口,减少应用程序和框架的耦合; 2.特点 Spring有两大特点:IOC和AOP IOC:(Inversion of Control)控制反转是指对象获取依赖对象的方式.比如A
  • 微服务架构的特点、优势和常见技术 微服务的四个特点和六个能力 现在让我们分析一下上一节里的各个技术大牛们阐述的技术观点,从设计开发、系统部署、测试运维和服务治理四个主要方面来考虑微服务架构的特点,那么...
  • EXPRESS框架

    2020-03-12 20:37:10
    什么是Express Express 是一个保持最小规模的灵活的 Node.js Web 应用程序...二次封装,非侵入式,增强形 搭建web服务 let express=require('express') let server=express() let server.listen(端口,地址,回调) ...
  • spring框架: 定义:Spring是一个轻量级的DI和AOP容器框架 ...特点:1非侵入式 2容器 3Ioc 4依赖注入 5Aop 为什么使用spring框架? 答:解耦,方便日后代码的维护,及其更新。 优点:支持各种框架
  • shiros权限框架介绍

    2019-08-29 20:37:25
    特点:shiro框架本身在权限实现上,采用”非侵入式“模式实现 1.1 核心模块组成 [外链图片转存失败(img-P5LVzyIX-1567082201573)(md_images\1566832547598.png)] 1) Authorization 授权:用户具有哪些权限、角色 ...
  • SSM框架开发

    2019-08-06 15:02:42
    文章目录Spring分层一站轻量级Spring 的体系结构SpringMVCSpringMVC 框架流程MybatisMybatis 特点Mybatis 整体架构 SSM 框架由 SpringMVC、Spring 和 Mybatis 三大开源框架整合而成,所以了解该框架需先从这三个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,735
精华内容 3,494
关键字:

侵入式框架的特点