Model view controller pureMVC Actionscript 3中的复杂视图层次结构

Model view controller pureMVC Actionscript 3中的复杂视图层次结构,model-view-controller,actionscript,puremvc,Model View Controller,Actionscript,Puremvc,考虑这种情况: 应用程序逻辑由许多层次、组件和它们之间的关系组成。级别包含多组组件。两个级别或两个组件之间可能有特殊关系。所有级别、组件和关系都可以有许多不同的参数 下面是一个快速的可视化: 我试图用pureMVC的方式编写它,但最终得到了一个巨大的CanvasMediator和CanvasView,它管理复杂的逻辑表示。问题是,每个级别和组件都应易于复制、删除、拖动、交换、重新定位、插入到其他对象之间等。应简单地从一个对象拖动到另一个对象来创建关系。换句话说,在这个CanvasView中有很多

考虑这种情况:

应用程序逻辑由许多层次、组件和它们之间的关系组成。级别包含多组组件。两个级别或两个组件之间可能有特殊关系。所有级别、组件和关系都可以有许多不同的参数

下面是一个快速的可视化:

我试图用pureMVC的方式编写它,但最终得到了一个巨大的CanvasMediator和CanvasView,它管理复杂的逻辑表示。问题是,每个级别和组件都应易于复制、删除、拖动、交换、重新定位、插入到其他对象之间等。应简单地从一个对象拖动到另一个对象来创建关系。换句话说,在这个CanvasView中有很多交互性,我相信如果试图将每个视图组件绑定到一个中介并在命令级别执行交互性代码,代码会非常臃肿。然而,我的方法感觉远非正确


一个更具体的问题是:当一个包含大量组件和子组件的级别以纯MVC方式重新定位时,如何处理这种情况?请记住,在拖动现有标高时,其组件也应随之移动。当悬停在其他两个级别之间的空白处时,应用程序应表明可以将选定的级别放置在其他两个级别之间(这两个级别应分开一点,留出一些空间,放置一长串组件)。

我可以看出这将如何创建一个臃肿的中介,也许您可以使用组件来处理嵌套组件。然后从嵌套组件向上激发事件到主机组件,找到一种方法将组件与其主机分组,例如:DragComponent可以处理可以拖动的子组件。然后通过通知在主机组件之间进行通信,然后主机在每个子组件之间传递,从而降低了中介的复杂性。我可以看到这将如何创建一个臃肿的中介,也许您可以使用组件来处理嵌套的组件。然后从嵌套组件向上激发事件到主机组件,找到一种方法将组件与其主机分组,例如:DragComponent可以处理可以拖动的子组件。然后通过通知在主机组件之间进行通信,然后主机在每个子组件之间进行传递,从而降低中介的复杂性。