软件体系结构

合集下载

软件体系结构课件_软件体系结构总复习

软件体系结构课件_软件体系结构总复习
软件体系结构总复习
第一章 序论
软件体系结构的定义 Software Architecture is the structure or structures of
the system, Which comprise software elements, the externally visible properties of these Elements, and the relations among them
模块结构 组件-连接器结构 分配结构
分解结构 使用结构 分层结构 类或泛化
模块结构
分解结构 使用结构 分层结构 类或泛化
组件-连接器结构
组件 连接 连接的本质 连接器 组件间的联系
分配结构
什么是分配结构
硬件、团队结构、文件系统都会与软件构 架进行交互,所以必须考虑这一类结构。
第八章 构架编档
什么是架构编档,简要表达软件构架编档 要包含的主要内容。
第七章 软件产品线
产品线的概念 一个软件产品线是满足以下性质的
一组软件产品: -共享一组相同的、可管理的特性
的集合 -满足一类特定的市场需求
公共核心资产库(core assets base) COTS〔Commercial Off-the-Shelf〕 核心资产开发活动的输入和目标 产品开发活动中输入/输出关系 使用产品线的好处和代价
元进行操作 连接件:控制 根据控制策略的不同,分为: 数据库〔知识库〕:系统由输入数据流中的事务
信息来驱动,即输入数据流中的事务指令可以触 发系统相应进程的执行, 黑板:如果系统由中央数据结构的当前状态来驱 动,那么黑板模型。
黑板风格
Com它一些事物 元素外部可见的属性是指元素对其它元素来说 提供的效劳 需要的效劳 共享资源的使用等 各元素间的交互关系也可能有多种 例如:细划分,同步,调用,包含…

软件体系结构的定义

软件体系结构的定义

软件体系结构是指软件系统中各个组件之间的组织方式和相互关系的抽象表示。

它描述了一个软件系统的整体结构、组成部分及其相互之间的交互关系、通信方式和约束规则。

软件体系结构定义了系统的基本框架,规定了各个模块之间的功能划分、接口设计和数据流动等,是软件系统设计的基础。

软件体系结构通常包括以下几个方面的内容:
组件:软件系统的组成部分,可以是模块、类、对象等。

每个组件负责实现特定的功能,并通过接口与其他组件进行交互。

接口:定义了组件之间的通信规则和交互方式,包括输入和输出的数据格式、方法调用方式等。

结构:描述了组件之间的组织方式和关系,如层次结构、模块化结构、客户端-服务器结构等。

链接:描述了组件之间的连接方式和数据流动路径,如同步或异步通信、数据传输的方式等。

约束:定义了系统中的规范和限制条件,包括性能要求、安全性要求、可扩展性要求等。

通过定义和设计软件体系结构,可以提高软件系统的可维护性、可扩展性和可重用性,同时降低系统开发和维护的复杂性。

软件体系结构还可以帮助开发团队进行模块化的工作分配,提高开发效率和协作能力。

软件体系结构

软件体系结构

1.2软件体系结构研究的内容和范畴
• 体系结构风格、设计模式和应用框架的概念是从不同的目的和出发点讨论
软件体系结构,它们之间的概念经常互相借鉴和引用。
1.3体系结构设计原则
• 抽象
• 分而治之
• 封装和信息隐藏
• 模块化
• 高内聚和低耦合
• 关注点分离
• 策略和实现的分离
• 接口和实现的分离
1.3体系结构设计原则
Filter将文件分离为音频流和视频流,AVI解码Filter对视频流进行解码并送往Video表现Filter,
由后者将各帧在显示器上显示,默认的DirectSound设备用DirectSound将音频流输
出。。
1.1what is SA ?
• 其次,体系结构的描述的作用好像一个框架,系
统属性在这个框架下进行扩充,并且,它在考察
设计出合适的体系结构。经验不丰富的设计师往往把注意力集中在“功能性
需求”而疏忽了“非功能性需求”,殊不知后者恰恰是最能体现设计水平的
地方。
高水平的设计师高就高在“设计出恰好满足客户需求的软件,并且使开
发方和客户方获取最大的利益,而不是不惜代价设计出最先进的软件。(以
设计住宅为例)…
对于软件系统而言,能够满足需求的设计方案可能有很多种,究竟该选
能力,新的、更大的、更复杂的问题又摆在人们的面前。
1.1what is SA ?
• 这种全局结构的设计和规划问题包括 全局组织
结构;全局控制结构;通信和同步以及数据存取
协议;规定设计元素的功能;设计元素的组合;
物理分布;规模和性能;演化的维度;设计方案
的选择等。
• 1随着软件系统的规模和复杂性不断增加,系统

软件体系结构

软件体系结构
3、软件体系结构的定义 软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描 述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不 仅指定了系统的组织结构和拓扑结构,并且显示系统需求和构成系统元素之间的对应关系, 提供了一些设计决策的基本原理。
1、MVC(模型-视图-控制):针对用户界面 模型:核心数据封装、逻辑和功能的计算,它独立于具体的界面表达和输入/输出操作。 视图:把模型数据等信息以特定形式展示给用户。 控制:处理用户与软件的交互操作。它接受用户的输入,将输入反馈给模型,进而实现对模 型的计算控制,是使模型和视图协调工作的部件。
2、软件重用的定义 软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。 可重用软件元素越大,重用粒度越大。
7、基于事件的隐式调用的定义 基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事 件。系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调 用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一个模块中过程的调用。
8、基于事件的隐式调用的优缺点 优点: (1)为软件重用提供了强大的支持。 (2)为系统带来了方便。
end Attendห้องสมุดไป่ตู้e;
16、C2 对体系结构的描述 architecture MeetingScheduler is
conceptual_components Attendee;ImportantAttendee;MeetingInitiator;
connector connector MainConn is message_filter no_filtering; connector AttConn is message_filter no filtering; connector ImportantAttConn is message_filter no filtering;

软件体系结构

软件体系结构

软件体系结构◇软件体系结构概论◇软件体系结构建模◇软件体系结构风格◇软件体系结构描述◇动态软件体系结构◇Web服务体系结构◇基于体系结构的软件开发◇软件体系结构的分析与测试◇软件体系结构评估◇软件产品线体系结构软件危机的表现◎软件成本日益增长◎开发进度难以控制◎软件质量差◎软件维护困难软件危机的原因◎用户需求不明确◎缺乏正确的理论指导◎软件规模越来越大◎软件复杂度越来越高◎构件的定义构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

构件模型的三个主要流派OMG(Object Management Group,对象管理集团)的CORBA(Common Object Request Broker Architecture,通用对象请求代理结构)Sun的EJB(Enterprise Java Bean)Microsoft的DCOM(Distributed Component Object Model,分布式构件对象模型)。

构件获取1.从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件;2. 通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件;3. 从市场上购买现成的商业构件,即COTS(Commercial Off-The-Shell)构件;4. 开发新的符合要求的构件。

构件管理◎构件描述◎构件分类与组织◎人员及权限管理构件描述构件模型是对构件本质的抽象描述,主要是为构件的制作与构件的重用提供依据;构件分类与组织◇关键字分类法◇刻面分类法◇超文本组织方法人员及权限管理一般来讲,构件库系统可包括五类用户,即注册用户、公共用户、构件提交者、一般系统管理员和超级系统管理员。

构件重用◎检索与提取构件◎理解与评价构件◎修改构件◎构件组装构件重用理解与评价构件◇构件的功能与行为◇相关的领域知识◇可适应性约束条件与例外情形◇可以预见的修改部分及修改方法构件组装◇基于功能的组装技术◇基于数据的组装技术◇面向对象的组装技术软件体系结构的定义软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构

软件体系结构

软件体系结构软件体系结构是指软件系统中各个组件之间的关系和结构的抽象描述。

它是构建软件系统的基础,对软件系统的设计和开发起着重要的指导作用。

本文将从软件体系结构的定义、目标和应用领域等方面对其进行详细的介绍。

一、软件体系结构的定义软件体系结构是指软件系统中各个组件之间的关系和结构的抽象描述,它包括软件系统的静态结构和动态行为。

静态结构是指软件系统中组件的组织方式和相互之间的关系,动态行为是指软件系统中组件的交互方式和相互之间的通信方式。

二、软件体系结构的目标软件体系结构的目标是实现软件系统的可重用性、可维护性、可扩展性和可伸缩性。

可重用性是指软件系统中的组件能够被多次使用,可维护性是指软件系统中的组件能够被轻松地修改和维护,可扩展性是指软件系统能够根据需求进行功能的扩展,可伸缩性是指软件系统能够根据需求进行性能的扩展。

三、软件体系结构的应用领域软件体系结构广泛应用于各个领域的软件系统开发,特别是大型跨平台和分布式系统的开发。

在金融领域,软件体系结构被应用于交易系统和风险管理系统的开发;在电子商务领域,软件体系结构被应用于在线购物系统和支付系统的开发;在物流领域,软件体系结构被应用于供应链管理系统和运输管理系统的开发。

四、软件体系结构的基本原则软件体系结构的设计应遵循以下基本原则:1. 模块化:将软件系统分为独立的模块,每个模块只负责特定的功能,通过接口进行通信和交互。

2. 松耦合:各个模块之间的依赖应尽量降低,避免模块之间的紧密耦合,以提高系统的灵活性和可维护性。

3. 高内聚:模块内部的各个元素之间应紧密关联,功能相关的元素应放在同一个模块中,以提高系统的内聚性。

4. 分层:将软件系统分为多个层次,每个层次负责不同的功能,上层层次通过接口调用下层层次的功能。

5. 可伸缩性:系统的设计应考虑未来的扩展需求,能够根据需求进行功能和性能的扩展。

六、软件体系结构的设计方法软件体系结构的设计方法有很多种,常用的有面向对象的体系结构设计方法、服务导向的体系结构设计方法和领域驱动设计方法。

软件体系结构研究报告

软件体系结构研究报告

软件体系结构研究报告软件体系结构是指软件系统中各个组件之间的关系和交互方式,它是软件开发过程中的重要环节。

本文将对软件体系结构的研究进行分析和总结。

软件体系结构的研究旨在设计一个符合系统需求的结构框架,以便于软件系统的开发和维护。

软件体系结构研究的主要内容包括:系统需求分析、软件架构设计、模块划分和数据流程等。

首先,系统需求分析是软件体系结构研究的基础。

通过对系统需求的分析,可以确定系统的功能、性能、安全等要求,从而为软件架构设计提供指导。

其次,软件架构设计是软件体系结构研究的核心。

软件架构设计是指在系统需求的基础上,根据系统性能、可靠性等因素,设计出系统的组件、接口和关系。

常见的软件架构设计模式有层次结构、管道-过滤器、客户端-服务器等。

接着,模块划分是软件体系结构研究的关键。

模块划分是将系统拆解成多个模块,每个模块负责特定的功能。

模块划分可以按照功能划分、数据划分等多种方式进行。

合理的模块划分可以提高系统的可维护性和可复用性。

最后,数据流程是软件体系结构研究的重要内容。

数据流程是指系统中数据的流动方式和路径。

合理的数据流程可以提高系统的效率和响应速度。

在软件体系结构的研究中,还需要考虑系统的可扩展性、可移植性和安全性等因素。

可扩展性是指系统的容量和性能可以随着需求的增加而增加。

可移植性是指系统可以在不同的平台和环境下运行。

安全性是指系统能够保护用户的隐私信息,防止数据泄露和攻击。

综上所述,软件体系结构研究是软件开发过程中的重要环节,它可以帮助系统设计者设计出符合需求的软件系统。

通过对系统需求的分析、软件架构的设计、模块的划分和数据流程的设计,可以提高软件系统的可维护性、可复用性和可靠性。

软件体系结构研究还需要关注系统的可扩展性、可移植性和安全性等因素,以提高软件系统的性能和安全性。

总之,软件体系结构研究对于软件开发和系统维护都具有重要意义。

软件体系结构名词解释

软件体系结构名词解释

软件体系结构:系统的基本组织结构,包括系统构成要素,这些构成要素相互之间以及运行环境之间的关系,还包括系统设计及演化时应遵循的原则。

优点:软件相关人员之间进行交流的手段;是一种高层次的设计复用手段;是早起关键设计决策的体现。

4+1视图:从5个不同的视角包括包括逻辑视图,进程视图,物理视图,开发视图与场景视图来描述软件体系结构。

逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。

开发视图:也称模块视图,主要侧重于软件模块的组织和管理。

进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求。

物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。

解决系统拓扑结构、系统安装、通讯等问题。

场景视图:场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。

软件体系结构风格:是对软件体系结构的分类,,每一种软件体系设计风格都代表一类软件都结构组织模式,是对实践中重复使用的架构设计的总结。

体系结构风格有:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件体系结构课程报告一、简答题: (每题10分,共40分)1.简述软件体系结构建模中“4+1”视图模型,并举一示例模型。

答:4+1视图模型从5个不同视角(逻辑视图,进程视图,物理视图,开发视图和场景视图)来描述软件体系结构.每一个视图只关心系统的侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容.最终用户:功能需求编程人员:软件管理系统集成人员:性能可扩充性,吞吐量等. 系统工程人员:系统拓扑,安装通信等. 举例:开发视图.开发视图也称为模块视图,主要侧重于软件模块的组织和管理.软件可通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人进行开发.开发视图要考虑软件内部的需求,如软件开发的容易性,软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性.开发视图通过系统输入输出关系的模型图和子系统图来描述.层次结构风格.2. 简述层次体系结构风格及其特点,并举一示例。

答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户.连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束.这种风格支持基于可增加抽象层的设计.这样,允许将一个复杂问题分解成一个增量步骤序列的实现.由于每一层最多只影响两层,同时只要给相邻层提供相同接口,允许每一层用不同的方法实现,同样为软件重用提供了强大的支持.分层同用协议.(1).支持基于抽象程度递增的系统设计,使设计师可以把一个复杂系统按递增的步骤进行分解.(2).支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层.(3)支持重用,只要提供的服务接口定义不变,同一层的不同实现可以交换使用. 不足之处:(1).并不是每个系统都可以很容易的划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来.(2)很难找到一个合适的,正确的层次抽象方法.3.简述基于体系结构的软件开发过程并说明在实际软件开发活动中如何实施。

(1).体系结构需求:功能,行为,性能,设计约束等方面的期望(1.1)需求获取:软件功能,使得用户能完成他们的任务,从而能满足业务上的功能需求.(1.2)标识结构:生成类图,对类进行分组把类大包成构件.(1.3)需求评审:小组,仔细的审查.(2).体系结构设计:(2.1)提出软件体系结构模型.(2.2)把已标识的构件映射到软件体系结构中.(2.3)分析构件之间的相互作用.(2.4)产生软件体系结构(2.5)设计评审.(3).体系结构文档化:主要输出结果是体系结构需求规格说明和测试体系结构需求的质量设计说明书这两个文档.(4).体系结构复审:目的是标识潜在的风险,及早发现体系结构设计中的缺陷和错误.包括体系结构能否满足需求,质量需求是否在设计中得到体现,层次是否清晰,构件的划分是否合理,文档表达是否明确,构件的设计是否满足功能与性能的要求等.(5)体系结构实现:用实体显示出一个软件体系结构,既要符合体系结构所描述的结构性设计决策,分割成规定的构件,按规定方式相互交互.(6).体系结构演化:是使用系统演化步骤去修改应用,以满足新的需求.(6.1)需求变动归类.(6.2)制定体系结构演化计划(6.3)修改,增加或删除构件(6.4)更新构件相互作用6.5)构件组装与测试6.6)技术评审(6.7)产生演化后的体系结构4. 简述软件体系结构ATAM评估过程,并设计一个软件项目的评估日程安排。

答:4.1。

描述ATAM方法:1*ATAM方法步骤简介。

2*获取和分析技术。

3*评估结果。

4.2。

描述业务动机:1*系统最重要的功能需求。

2*技术,管理,经济或政治方面的约束条件。

3*业务目标和环境。

4*主要的风险承担者,5*体系结构驱动因素。

4.3。

描述体系结构:1*技术约束。

2*要与本系统交互的其他系统。

3*用以满足质量属性要求的体系结构方法。

4.4。

确定体系结构方法:由设计师确定,有分析小组捕获,但不进行分析。

4.5。

生产质量属性效用树:确定系统最重要的质量属性目标,并对这些质量目标设置优先级和细化。

4.6。

分析体系结构方法:1*理解体系结构方法。

2*找出该方法的缺陷,3*找出该方法的敏感点。

4*发现与其它方法的交互和权衡点。

把最高优先级的质量属性需求与实现他们的体系结构方法关联起来。

4.7。

讨论和分级场景:1*集体讨论用例场景(描述风险承担者期望使用信用的方式)和改变场景(描述风险承担者所期望的系统在将来变更的方式)2*成长场景描述的是体系结构在中短期的改变,包括期望的修改,性能或可用性的变更,移植性,与其他软件系统的集成等。

3*一旦投票结果确定,所有的场景就可设置优先级。

4.8。

分析体系结构方法:重复第六步工作,把新得到的最高优先级场景与尚未得到的体系结构工作产品对应起来。

4.9。

描述评估结果:1*已文档化了的体系结构方法,风格。

2*场景及优先级。

3*基于属性问题。

4*效用树。

5*所发现的风险决策。

6*已文档化了的无风险决策。

7*所发现的敏感点和权衡点。

二、论述题:(30分)选取目前构件模型中OMG的CORBA、Sun的EJB、Microsoft的DCOM之一,论述模型的结构、特点以及使用该技术开发构件的过程,并举一示例。

答:Sun的EJB构件模型EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。

提供了让客户端使用的分布式对象的框架。

简化了企业级软件的开发。

EJB容器提供了目录服务,事务管理,安全等。

EJB的类型:(1)。

会话Bean:与所在客户会话的生存周期一样长,即在客户交互期间有效。

1*无状态会话Bean:一次对一个客户提供业务逻辑而不在方法调用之间保存客户状态,即调用完后,无状态会话Bean就被释放到缓冲池中。

2*状态会话Bean:可以维持调用客户的状态并在方法调用之间维护客户状态。

(2)。

实体Bean:代表了某个持久对象,用于映射基础数据库表格,生成数据库的对象视图。

1*容器管理的持久性:负责同步bean状态与基础数据库。

2*Bean管理的持久性:编程人员要在beande实现类中编码所有需要的SQL 语句与JDBC调用。

(3)。

消息驱动的bean:一些业务逻辑的消息使用者。

EJB的特点:1*清晰的体系结构:支持多层应用体系结构和基于构件开发。

2*简化的编程模型:只需要关注服务的实现,其余事务有EJB容器完成。

3*通用的编程模型。

4*易移植性:可以部署到任何兼容的EJB容器中。

5*支持事务处理:可以通过代码外的描述定义事务处理。

6*可扩展性:可随应用的增长而扩展,并提供了负载平衡。

7*安全性:由EJB服务器提供资源的访问权限控制。

EJB至少包括四个元素:主接口,组件接口(Remote或Local接口),Bean实现类和部署描述项。

开发EJB组件的设计过程:Online--BookStore1.目标规划:(1)系统的用户登录及身份验证要求。

1*系统用户注册。

2*验证用户的注册信息。

3*系统用户进入系统时的身份验证。

(2)在线图书销售系统要求1*允许用户浏览所有图书。

2*允许登录用户购买自己喜欢的图书。

3*允许用户对购物车进行管理。

4*系统实现订单的处理。

5*系统完成整个的购物流程。

2.系统规划(1)系统结构层次1*客户层:使用Web浏览器。

2*表示层:使用JSP+JavaBean。

3*业务层:使用EJB中的会话Bean。

4*集成层:通过EJB中的实体Bean连接到数据库。

5*资源层:J2EE中提供的各种资源。

(2)数据模型:产品(Book)模型,账户(Account)模型,订单(AccountOrder)3.EJB的设计(1)体系结构分层的设计:Online--BookStore的系统层次结构(1)表示层模式:1*截取过滤器:促进请求的预先处理和后处理。

2*前端控制器:提供请求处理的集中控制器。

(2)商业层模式:1*值对象:通过减少网络对话,以加速层之间的数据交换。

2*会话外观;隐藏业务对象复杂性,集中化工作处理。

3*服务器定位:封装业务服务查找和创建的复杂性,定位业务服务工场。

5.实体Bean(数据)和会话Bean(业务过程)的合理分配6.状态会话Bean和无状态会话Bean的选择(1)状态会话Bean:在Online--BookStore的购物车中,客户被分配到一个购物车,整个会话期间,客户独占使用这个购物车,购物过程中可能从购物车中拿出一些商品,最后查询购物车中的所有内容并结帐,然后离开商店。

这些不同方法之间的状态数据都需要保留下来,所以适合使用状态会话Bean实现。

(2)无状态会话Bean:在Online--BookStore的账户模块中,因生成一个新的注册用户和判断用户是否登录,都是一次性的业务处理,可以使用无状态会话Bean7.Bean管理持久性和容器管理持久性的选择在Online--BookStore的实体中Bean使用的都是CMP管理持久性。

8.远程接口和本地接口的选择在Online--BookStore的实体中Bean使用的都是本地接口,让会话Bean来访问实体Bean,隐藏了实体Bean的各个细节。

而所有的会话Bean,采用远程接口,是客户可以访问会话Bean。

三、应用题:(30分)选取自己熟悉的领域,根据客户提出的功能需求应用MVC模式设计一应用系统的软件体系结构。

要求必须说明清楚每层的接口、服务类。

MVC模式能使界面(View)和数据(Model)能有效的分开,由控制器(Controller)去控制。

电子时钟的例子1.首先我们来看一下Model,Model按照我的理解是数据,就是所有的共用数据都是存储在Model里面的,时钟里有这样的数据,小时,分钟,秒;现在我们来建立一个Model,ModelLocator.as:package net.smilecn.clock.model{import flash.events.EventDispatcher;import flash.events.Event;public class ModelLocator extends EventDispatcher{private var_hour:String;private var_minutes:String;private var_second:String;public function ModelLocator():void{}public function get hour():String{return_hour;}public function set hour(value:String):void{_hour = value;dispatchEvent(new Event("changeHour"));}public function get minutes():String{return_minutes;}public function set minutes(value:String):void{_minutes = value;dispatchEvent(new Event("changeMinutes"));}public function get second():String{return_second;public function set second(value:String):void{_ second = value;dispatchEvent(new Event("changeSecond"));}}}这个代码应该会好懂,这里ModelLocator继承了EventDispatcher这个类,继承这个类的原因是ModelLocator需要用dispatchEvent发消息出去。

相关文档
最新文档