zoukankan      html  css  js  c++  java
  • 杂项:框架

    ylbtech-杂项:框架
    1. 软件工程返回顶部
    1、

    什么是框架

    框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
    可以说,一个框架是一个可复用的设计构件它规定了应用的体系结构阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。
    构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内对象间的交互模式和控制流模式。
    框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了标准的方法。
    应用框架的概念也很简单。它并不是包含构件应用程序的小片程序,而是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。
    应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。
    框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 框架的概念最早起源于Smalltalk环境,其中最著名的框架是Smalltalk 80的用户界面框架MVC(Model-View-Controller)。随着用户界面框架Interviews 【Linton 89】和ET++ 【Weinand 89】 的开发和发布,框架研究越来越受到研究人员的重视。虽然框架研究最初起源于用户界面领域,但它还被成功地应用到其他领域中,如操作系统【Russo 90】、火警系统 【Molin 96a,Molin 96b】 等。Taligent公司于1992年成立后,框架研究受到了广泛的重视。该公司计划基于框架来开发一个完整的面向对象操作系统。另外,该公司还发布了一套支持快速应用开发的工具集CommonPoint,其中包括了上百个面向对象框架 【Andert 94,Cotter 95】。框架还没有统一的定义,其中Ralph Johnson所给出的定义基本上为大多数研究人员所接受:
    一个框架是一个可复用设计,它是由一组抽象类及其实例间协作关系来表达的 【Johnson 98】。
    这个定义是从框架内涵的角度来定义框架的,当然也可以从框架用途的角度来给出框架的定义:
    一个框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现【Bosch 97】。
    从以上两个定义可以看出,框架是对特定应用领域中的应用系统的部分设计和实现com/wiki/%E5%AD%90%E7%B3%BB%E7%BB%9F target="_new" class="innerlink">子系统)的整体结构。框架将应用系统划分为类和对象,定义类和对象的责任,类和对象如何互相协作,以及对象之间的控制线程。这些共有的设计因素由框架预先定义,应用开发人员只须关注于特定的应用系统特有部分。框架刻画了其应用领域所共有的设计决策,所以说框架着重于设计复用,尽管框架中可能包含用某种程序设计语言实现的具体类。
    一个基于框架开发的应用系统包含一个或多个框架,与框架相关的构件类,以及与应用系统相关的功能扩展。与应用系统相关的扩展包括与应用系统相关的类和对象。应用系统可能仅仅复用了面向对象框架的一部分,或者说,它可能需要对框架进行一些适应性修改,以满足系统需求。
    面向对象的框架作为一种可复用的软件,在基于框架的软件开发过程中会涉及到框架的开发和利用两个方面的工作。框架的开发阶段在于产生领域中可复用的设计。该阶段的主要结果是框架以及与框架相关的构件类。该阶段的一个重要活动是框架的演变和维护。象所有软件一样,框架也易于变化。产生变化的原因很多,如应用出错,业务领域变化,等等。
    不论是哪一种技术,最终都是为业务发展而服务的。从业务的角度来讲。首先,框架的是为了企业的业务发展和战略规划而服务的,他服从于企业的愿景(vision)其次,框架最重要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进度等方面。最后,框架实现这一目标的方式是进行有效的知识积累。软件开发是一种知识活动,因此知识的聚集和积累是至关重要的。框架能够采用一种结构化的方式对某个特定的业务领域进行描述,也就是将这个领域相关的技术以代码、文档、模型等方式固化下来。
     

    为什么要用框架

    因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事务处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处
    框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层
    软件为什么要分层? 为了实现“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源…总之好处很多啦。
     

    框架和设计模式

    框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。构件通常是代码重用,而设计模式是设计重用,框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性
    框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
     

    框架开发

    框架的最大好处就是重用。面向对象系统获得的最大的复用方式就是框架,一个大的应用系统往往可能由多层互相协作的框架组成。
    由于框架能重用代码,因此从一已有构件库中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间的通信简单。
    框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而且能描述构件间的内部接口。这些标准接口使在已有的构件基础上通过组装建立各种各样的系统成为可能。只要符合接口定义,新的构件就能插入框架中,构件设计者就能重用构架的设计。
    框架还能重用分析。所有的人员若按照框架的思想来分析事务,那么就能将它划分为同样的构件,采用相似的解决方法,从而使采用同一框架的分析人员之间能进行沟通。
     

    主要特点

    领域内的软件结构一致性好; 建立更加开放的系统
    重用代码大大增加,软件生产效率和质量也得到了提高
    软件设计人员要专注于对领域的了解,使需求分析更充分;
    存储了经验,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程;
    允许采用快速原型技术;
    有利于在一个项目内多人协同工作
    大力度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性、灵活性增强
     

    解决问题

    框架要解决的最重要的一个问题是技术整合的问题,在J2EE的框架中,有着各种各样的技术,不同的软件企业需要从J2EE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击而应用是软件企业的核心是竞争力的关键所在因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现技术实现是应用的底层支撑,它不应该直接对应用产生影响。 要理解这一点,我们来举一些例子:
    一个做视频流应用的软件企业,他为电广行业提供整体的解决方案。他的优势在于将各种各样的视频硬件、服务器、和管理结合起来,因此他扮演的是一个集成商的角色。因此他的核心价值在于使用软件技术将不同的硬件整合起来,并在硬件的整合层面上提供一个统一的管理平台。所以他的精力应该放在解决两个问题:
    如何找到一种方法,将不同的硬件整合起来,注意,这里的整合并不是技术整合,而是一种思路上的整合。首先要考虑的绝对不是要使用什么技术,而是这些硬件需要提供哪些服务,需要以什么样的方式进行管理。因此,这时候做的事情实际上是对领域进行建模。例如,我们定义任何一种硬件都需要提供两种能力,一种是统一的管理接口,用于对所有硬件统一管理;另一种是服务接口,系统平台可以查询硬件所能够提供的服务,并调用这些服务。所以,设计的规范将会针对两种能力进行。
    另一个问题是如何描述这个管理系统的规范。你需要描述各种管理活动,以及管理中所涉及的不同实体。因为管理系统是针对硬件的管理,所以它是构架在硬件整合平台之上的。
    在完成业务层面的设计之后,我们再来看看具体的技术实现。光有规范和设计是不够的,我们还需要选择一个优秀的技术。由于是对不同硬件的整合,我们想到采用Java提供的JMX技术。JMX技术适合用来进行系统整合,它定义了一个通用的规范,并给出了远程管理端口的一些默认实现。JMX已经经过了实践的检验,不少的应用服务器都采用了以JMX为基础的结构,例如有名的JBoss。JMX已经是一个很好的开始了,但是我们还需要在JMX的基础上再做一些工作。
     

    相关概念

    1. 白盒与黑盒框架
    框架可分为白盒(White-Box)与黑盒(Black-Box)两种框架。
    基于继承的框架被称为白盒框架。所谓白盒即具备可视性,被继承的父类的内部实现细节对子类而言都是可知的。利用白盒框架的应用开发者通过衍生子类或重写父类的成员方法来开发系统。子类的实现很大程度上依赖于父类的实现,这种依赖性限制了重用的灵活性和完全性。但解决这种局限性的方法可以是只继承抽象父类,因为抽象类基本上不提供具体的实现。白盒框架是一个程序骨架,而用户衍生出的子类是这个骨架上的附属品。
    基于对象构件组装的框架就是黑盒框架。应用开发者通过整理、组装对象来获得系统的实现。用户只须了解构件的外部接口,无须了解内部的具体实现。另外,组装比继承更为灵活,它能动态地改变,继承只是一个静态编译时的概念。
    在理想情况下,任何所需的功能都可通过组装已有的构件得到,事实上可获得的构件远远不能满足需求,有时通过继承获得新的构件比利用已有构件组装新构件更容易,因此白盒和黑盒将同时应用于系统的开发中。不过白盒框架趋向于向黑盒框架发展,黑盒框架也是系统开发希望达到的理想目标。
    2. 热点、食谱以及好莱坞原则
    成功的框架开发需要确定领域专用的''热点'' (Hot spot)。应用开发者在框架的基础上进行开发,只须扩展框架的某些部分,''热点''就是在应用领域的一种扩展槽,开发者根据自己的需要填充这些扩展槽。''热点''使框架具有灵活性,如在具体的实现中,扩展槽可以被看成是一些抽象类,开发者通过重写抽象方法获得具体实现。
    ''食谱'' (Cookbook)就是描述如何使用框架方法的文档。在''食谱''中包含了许多''烹饪''方法,这些''烹饪''方法相当于一些具体的操作步骤,描述了为解决某一专门问题如何使用框架的详细方法。框架的内部设计和实现细节通常不出现在''食谱''中。
    框架的一个重要特征就是用户定义的方法经常被框架自身调用,而不是从用户的应用代码中调用。这种机制常称为“好莱坞原则”(Hollywood Principle)或“别调用我们,我们会调用您”。
     

    JAVA框架

    WAF:全称:WEB APPLICATION FRAMEWORK主要应用方面:EJB层,(WEB层也有,但是比较弱)。主要应用技术:EJB等出处:java.sun. com/blueprints/code/index.html">http://java.sun. com/blueprints/code/index.html简述:这是SUN在展示J2EE平台时所用的例子PetStore(宠物商店系统)里面的框架。是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式。SUN的网站上有技术资料,最好下载PetStore来研究,WEBLOGIC里自带此系统,源码在beaweblogic700samplesserversrcpetstore。这是学习了解J2EE的首选框架。免费。
    Struts:主要应用方面:WEB层。主要应用技术:JSP,TagLib,JavaBean,XML等出处,这是APACHE的开源项目,应用很广泛。基于MVC模式,结构很好,基于JSP。Jbuilder8里已经集成了STRUTS1.02的制作。免费。
    简述WAF+STRUTS结合的例子:WEB层用STRUTS,EJB层用WAF:JSP(TagLib)——>ActionForm——>Action ——> Event——>EJBAction——>EJB ——>DAO——>Database JSP(TagLib) (forward) <——Action <——EventResponse<——
    Turbine:主要应用方面:WEB层。主要应用技术:servlet等出处,这是APACHE的开源项目。基于SERVLET。据说速度比较快,基于service(pluggable implementation可插拔的执行组件)的方式提供各种服务。免费。
    COCOON:主要应用方面:WEB层。主要应用技术:XML,XSP,servlet等出处:http://cocoon.apache. org/2.0/简述:这是APACHE的一个开源项目。基于XML,基于XSP(通俗地说,XSP是在XML静态文档中加入Java程序段后形成的动态XML文档。)。特点是可以与多种数据源交互,包括文件系统,数据库,LDAP,XML资源库,网络数据源等。免费。
    ECHO:主要应用方面:WEB层。主要应用技术:servlet等出处:http://www.nextapp. com/products/echo/简述:nextapp公司的一个开源项目。基于SERVLET。页面可以做的很漂亮,结合echopoint,可以作出很多图形效果(里面用了jfreechart包)。使用SWING的思想来作网页,把HTML当作JAVA的类来做。但是大量使用Session,页面分帧(Frame)很多,系统资源消耗很大。免费。
    JATO:全称:SUN ONE Application Framework主要应用方面:WEB层。主要应用技术:JSP,TagLib,JavaBean等出处,简述:这是SUN推出的一个商业性框架,一看名字就知道是结合SUN ONE的平台推出的。我下载了JATO2.0看了一下,感觉有些简单,使用了JSP+TagLib+JavaBean。如他的DOC所说JATO是适合用在小的WEB应用里。免费。
    TCF:全称:Thin-Client Framework主要应用方面:JAVA GUI。主要应用技术:JAVA application等出处,简述:这是IBM出的一个框架。基于MVC模式,基于JAVA Application。推荐一篇介绍文章:java/j-tcf1/index.shtml">http://www-900.ibm. com/developerWorks/cn/java/j-tcf1/index.shtml收费:每个企业对象license:2000美元。
     

    应用框架

    随着管理信息应用范围的拓展,交易类应用为管理对象的电子信息获取提供了丰富的手段,这些信息的存储、加工、增值、展现等处理事务,均属于管理决策类应用系统的范畴。传统的信息系统通常将这些事务,与交易类应用合并在一个应用系统中实现,随着一个组织中应用系统不断地涌现,关联数据的组织和共享、历史数据的积累和重用、全面数据的挖掘和增值等需求,促生了基于数据仓库技术的,面向整个组织,独立性的管理决策类应用环境的实现。这类应用有一个最大的特点,就是用户需求是持续发展和不断完善的,特别是应用的初期,用户甚至提不出充分和全面的需求。同时,这类应用又存在非常强的应用共性。为此,可以通过一组与业务无关的,产品化的技术支撑环境,去实现对海量数据获取和储存的支持能力;去实现描述加工规则发展和完善的能力;去实现提供数据组织访问和管理的能力;去实现反映结果信息简洁和人性化的能力,这便是“管理决策框架”的意义。该框架由以下部分构成:
     

    业务架构

    所有的应用系统只有在覆盖了相应的业务以后,才具有应用的实际意义。与业务无关的管理决策框架在没有加载业务以前,只能称之为框架,加载业务以后则成为了针对特定业务的管理决策系统了。所谓业务架构一方面是为用户加载和组织业务提供的一个手段和环境(开始也为用户加载了一些通用的业务如查询、报表等);另一方面也是在实际应用时的业务门户。类似于智能终端的桌面,用户拿到手的时候桌面是空的,只是有一些通用业务,如时钟、画图、记事簿等,随着应用的发展,每个人的桌面会呈现出各不相同的个性化业务。管理决策框架中向用户提供了业务操作和管理的操作2类业务,其中业务操作是面向大众用户的,涉及业务管理活动的流程、查询、分析、决策等日常作业,这些操作绝大多数都需要用户后续自行加载;管理操作是面向小众用户的,涉及对业务管理活动的流程定义、数据组织、分析规则、决策算法、展现效果等定义和描述操作,并对它们进行加载和维护的作业。与传统的应用系统不同的是,这些作业的形成不是由程序员编码实现的,而是用户骨干或者第三方团队(小众用户),利用管理决策框架提供的管理操作(由应用架构的相关产品提供)加载实现的。加载的结果通常以“方案”的形式打包,每个“方案”对应一个管理活动的过程、规则、算法、结果展现等等。训练成熟的方案经过该架构的解析和执行,面向用户提供直观高效的,可持续发展的,智能化的最佳用户体验。该架构涉及的技术包括:统一门户、统一权限、工作流、商务智能(BI)等等。
     

    应用架构

    该架构主要是面向业务架构提供软件功能的支持既提供运行时的业务功能支持,又提供加载时的管理功能支持。与传统的应用架构的最大不同在于,该架构能为整个组织实现业务需求的变化和满足覆盖地域的不同,提供可持续发展的支撑能力和具有更长的生命周期。同时,也是确保业务无关性,实现管理决策类应用产品化的关键。为此,组成该架构的一系列产品,均以人机交互的模式,将管理决策业务需要实现的数据源获取、数据口径描述、数据的组织、加工规则、管理过程、结果展现等进行定义、描述和发布管理;其所涉及的每个定义和描述的结果,均分为2个部分,一是以代码段或脚本形式保存的,可以由业务架构解析并执行的部分,称为“方案元”;二是对相应的方案元按照标准的元模型,以人工语境描述的数据集合,称为“元数据”。方案元也作为元数据的一部分一并打包,并加以保存和管理,每项业务所涉及方案元的集合称为“方案”,每个“方案”经过测试和训练,面向特定的用户发布。这个过程称为“主动式元数据管理”。应用架构发布的结果就是业务架构面向大众用户提供的“业务功能”;使用应用架构所提供产品进行业务实现(加载)的过程,就是小众用户在业务架构中使用“管理功能”的过程。该架构涉及的技术包括:元数据标准、元数据管理、方案的形成和管理、知识的形成和管理等等。
     

    数据架构

    它面向全局提供统一的数据综合利用及管理环境。与传统的数据架构不同,该架构提出了对“数据空间”进行“数据管理”的概念。“数据空间”是整个组织所有管理对象所涉及的数据全集,以及它们所有的数据属性。传统的数据架构关注的重点,局限在所有管理对象涉及的实体数据(内容),而“数据空间”关注和管理的对象,还要扩展到:一是以人工语境对“内容”进行解释性描述的元数据(变化);二是记录“内容”和“变化”的归档数据(历史);三是反映管理决策框架运行环境的日志数据(状态)等。这里记录内容、变化、历史、状态的数据集合,称之为“数据全集”;“变化”与传统的只供机器识别的技术元数据(传统数据属性),一并称之为新的“数据属性”。“数据管理”指的是要对进入管理决策框架的数据源进行完整性、原始性、不可抵赖性的实现管理;要对基础数据口径和后续加工规则、算法等进行标准化、规范化、可追溯的描述管理;要对数据空间涉及的所有数据,进行合理组织、物理分区、数据结构的定义,实现全面科学、统分结合、访问高效的控制管理;要对内容、变化、历史、状态等涉及的所有数据增值过程,进行全面质量管理和全过程的生命周期管理。该架构涉及的技术包括:非结构化数据处理、档案管理、“大数据”技术、数据仓库(特别是DW2.0)涉及的相关技术等等。
     

    技术架构

    该架构是构成信息系统物理环境的产品集合包括服务器、操作系统、中间件、网络环境等基础技术环境。在进行配置管理时,管理决策框架除了要考虑灾备的异地支持环境,还要在物理上分为生产环境和训练环境。生产环境是训练环境的子集,其主要是将正式发布的“方案”经过加载、解析、执行,针对特定业务提供日常作业的支持服务,从而确保了生产环境的简化、高效、可靠、稳定;训练环境除了能模拟实际生产环境,还要提供业务(方案)加载、测试、训练、维护、发布等管理作业的支持服务,从而确保该框架对业务应用无关性、对业务需求的可持续发展、保证支持环境的长生命周期。该架构涉及的技术包括:虚拟技术、云计算、容灾管理、数据中心监控等等。
     

    安全架构

    在最大限度满足管理决策框架运行的基础上,构建网络、硬件和软件相结合的安全体系通过监控管理手段来确保系统稳定,削弱高度信息化的应用系统受单点故障的影响程度使系统能够将风险分散和具备一定的自救能力。要考虑一体化的,整体安全架构的设计要求;要符合信息安全标准(物理安全、运行安全、数据安全、内容安全等)规定而采取的技术和管理要求;要实现信息安全和数据质量管理的技术环境,能够提供安全策略的具体管理机制。信息安全不仅体现在物理环境的实现上,更要强调信息安全管理机制的建立和持续完善,并且管理机制要能够体现在物理环境上,要能够通过物理环境管理、记录、分析各类信息安全事件,避免其再次发生。
     

    标准体系

    作为与业务无关的应用软件产品,管理决策框架需要一系列标准以规范整个框架对外部的衔接、规范框架内各架构间的衔接以及每个架构内部的,对处理对象的获取、加工、处理等描述的规范等等。它们涉及到相互衔接、处理对象描述、加工规则描述等等方面的标准化,以及如何对它们进行描述的标准化(元数据标准,即元模型);涉及到包括组织、制定、维护、发布、遵循等内容的标准管理机制;特别是要有一个支撑标准管理机制的技术支持环境,这个环境不仅要提供对每个标准生命周期的管理,还要提供整个框架对标准遵循和使用的一致性和易用性保障和服务。
     

    运维体系

    管理决策框架的运维体系分为2类:一类是物理环境运维即传统的数据中心环境和设备的运行保障和安全保障;另一类是应用环境运维它包括涉及业务架构、应用架构、数据架构、标准体系的运维管理。通过这些运维管理活动,实现业务需求的有效支撑和可持续发展;实现管理功能(即整个框架本身)的可靠运行和可持续发展。为了这2类管理活动的有效进行,需要建立一套运维管理机制,包括运维组织、制度、职责等等;同样,也要有一个支撑运维管理活动的运维技术支持环境,它不仅要提供对运维管理活动的过程和监控提供服务,还要提供对运维事项的发起、发现、定位、预警、处置、恢复等手段提供功能性支持,并且能够通过对运维事件多角度信息的捕获、积累、分析、挖掘,实现智能化的运维辅助和事件预测。
     

    网页设计

    框架是网页中经常使用的页面设计方式,框架的作用就是把网页在一个浏览器窗口下分割成几个不同的区域,实现在一个浏览器窗口中显示多个HTML页面。使用框架可以非常方便的完成导航工作,让网站的结构更加清晰,而且各个框架之间决不存在干扰问题。利用框架最大的特点就是使网站的风格一致。通常把一个网站中页面相同的部分单独制作成一个页面,作为框架结构的一个子框架的内容给整个网站公用。
    一个框架结构有两部分网页文件构成:
    框架Frame:框架是浏览器窗口中的一个区域,它可以显示与浏览器窗口的其余部分中所显示内容无关的网页文件。
    框架集Frameset:框架集也是一个网页文件,它将一个窗口通过行和列的方式分割成多个框架,框架的多少根据具体有多少网页来决定,每个框架中要显示的就是不同的网页文件。
    所谓框架就是把网页分成几个框窗,同时取得多个 URL。<frameset>用来划分框窗,每一框窗有一个<frame>,<frame>必须在<frameset>范围中使用。如:
      <frameset cols="50%,*">
      <frame name="hello" src="1.html"> <frame name="hi" src="2.html">
      </frameset>
      此例中 <frameset> 把画面分成左右两相等部分,左面显示 1.html,右面显示 2.html
    2、
    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
    1、
    2、
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    SPOJ 694 (后缀数组) Distinct Substrings
    POJ 2774 (后缀数组 最长公共字串) Long Long Message
    POJ 3693 (后缀数组) Maximum repetition substring
    POJ 3261 (后缀数组 二分) Milk Patterns
    UVa 1149 (贪心) Bin Packing
    UVa 12206 (字符串哈希) Stammering Aliens
    UVa 11210 (DFS) Chinese Mahjong
    UVa (BFS) The Monocycle
    UVa 11624 (BFS) Fire!
    HDU 3032 (Nim博弈变形) Nim or not Nim?
  • 原文地址:https://www.cnblogs.com/storebook/p/9707517.html
Copyright © 2011-2022 走看看