aswing 控制器

由于ActionScript3.0是事件驱动的强交互性语言,所以模型-视图-控制器设计模式在ActionScript3.0当中也会与在其他语言中的定义有所不同。

  • 数据模型是一个事件源(EventDispatcher)
  • 视图是一个事件源(EventDispatcher)
  • 控制器里面你有两个通道

1.一个通道监听视图的变化,并且把变化写入到模型

2.一个通道监听模型的变化,并且把变化输出到视图

 

如图3.2-2。

(图3.2-2)
当视图(View)被触动(比如鼠标点击或者键盘输入),视图将发出事件,这时候视图-模型通道(ViewToModelChannel)收到事件并且更新模型(Model)的内容。如图3.2-3所示。
(图3.2-3)
当模型(Model)发生改变,模型将发出事件,这时候模型-视图通道(ModelToViewChannel)收到事件并且更新视图(View)的显示。如图3.2-4所示。
(图3.2-4)

 

下面是这个模式的代码表述:

Model

package
{
import flash.events.EventDispatcher;

 

public class Model extends EventDispatcher
{
}
}

 

View

 

package
{
import flash.events.EventDispatcher;

 

public class View extends EventDispatcher
{
}
}

 

Controller

 

package
{
public class Controller
{
private var v2mChannel:Channel;
private var m2vChannel:Channel;

public function Controller(view:View, model:Model) {
this.v2mChannel = new ViewToModelChannel(view, model);
this.m2vChannel = new ModelToViewChannel(view, model);
}
}
}

 

class Channel {
protected var view:View;
protected var model:Model;

public function Channel(view:View, model:Model) {
this.view = view;
this.model = model;
}
}

 

class ViewToModelChannel extends Channel {

public function ViewToModelChannel(view:View, model:Model) {
super(view, model);

//监听来自视图的事件
this.view.addEventListener(……..
}
}

 

class ModelToViewChannel extends Channel {

public function ModelToViewChannel(view:View, model:Model) {
super(view, model);

//监听来自模型的事件
this.model.addEventListener(…….
}
}

 

下面,我们用一个简单的例子来介绍这个设计模式如何使用。在后面的章节当中,我们会大量使用这里所介绍的模型-视图-控制器设计模式。

 

如图3.2-5和3.2-6,这个程序有一个输出框架和一个输入框架。在输入框架增加或者减少模型的顶点,输出框架根据模型当中的顶点数绘制正多边形。

(图3.2-5)

 

(图3.2-6)

 

 

在这个例子当中,模型定义了一个vectorChanged事件(VECTOR_CHANGED)和一个正整数(vectors)。定义了两个公开的方法来操纵这个正整数(getVectors、setVectors)。如图3.2-7。

(图3.2-7)

 

模型对于外面发生的事情一无所知,它只知道在vectors改变的时候发布vectorChanged事件(VECTOR_CHANGED)。

 

 


 

笔记:

一个对象是由数据和方法所构成的,数据定义的是对象的状态,所以有的时候,数据又被叫做属性,比如例子当中的Model,数据域vectors表示这个Model目前是处在3个顶点的状态,或者是4个顶点的状态。

我们要强调的是对象当中的方法。对象当中的方法是对本对象自身的数据的操作。所以方法(Method)有时候又被叫做操作(Operation)。

跟网型逆变器小干扰稳定性分析与控制策略优化研究(Simulink仿真实现)内容概要:本文围绕跟网型逆变器的小干扰稳定性展开分析,重点研究其在电力系统中的动态响应特性及控制策略优化问题。通过构建基于Simulink的仿真模型,对逆变器在不同工况下的小信号稳定性进行建模与分析,识别系统可能存在的振荡风险,并提出相应的控制优化方法以提升系统稳定性和动态性能。研究内容涵盖数学建模、稳定性判据分析、控制器设计与参数优化,并结合仿真验证所提策略的有效性,为新能源并网系统的稳定运行提供理论支持和技术参考。; 适合人群:具备电力电子、自动控制或电力系统相关背景,熟悉Matlab/Simulink仿真工具,从事新能源并网、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 分析跟网型逆变器在弱电网条件下的小干扰稳定性问题;② 设计并优化逆变器外环与内环控制器以提升系统阻尼特性;③ 利用Simulink搭建仿真模型验证理论分析与控制策略的有效性;④ 支持科研论文撰写、课题研究或工程项目中的稳定性评估与改进。; 阅读建议:建议读者结合文中提供的Simulink仿真模型,深入理解状态空间建模、特征值分析及控制器设计过程,重点关注控制参数变化对系统极点分布的影响,并通过动手仿真加深对小干扰稳定性机理的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

银狐游戏开发资源2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值