今天偶然看到这样一篇博客[url=http://yecon.blog.hexun.com/30274240_d.html]《Flex:弹出窗口中父子窗口之间的数据传输 》[/url]。
当然这篇博客不是原创的,是转载他人的。
我看过之后,觉得很熟悉,貌似以前在学习设计模式时见过。觉得这个应该是属<观察者>模式的应用。
[color=red]你们觉得他是属于哪种设计模式呢?[/color]
这个例子其实刚好解决了我遇到的一个flex的问题。
一个父TitleWindow,一个子TitleWindow,我想实现这个功能:当子窗口关闭时,父窗口要拿到子窗口的一些数据进行条件查询操作。
我起初觉得,用event的转发应该可以实现数据传递功能,方法是:自定义一个QueryEvent,在子窗口中封装数据,转发该事件。
父窗口则事先注册好该时间,当子窗口的事件流流经父窗口时,则可以从event对象中获取到数据,进行查询。
但是,这种做法后来被证实是错误的,父、子窗口并不是在同一个显示列表中中,因此它们之间不存在事件流动。
那该怎么才能将子窗口的数据传给父窗口呢?
答案就是:观察者模式。通过上面那篇博客应该可以看到观察者设计模式的影子。我也正是从这篇博客找到解决的方法的。
当然这篇博客不是原创的,是转载他人的。
我看过之后,觉得很熟悉,貌似以前在学习设计模式时见过。觉得这个应该是属<观察者>模式的应用。
[color=red]你们觉得他是属于哪种设计模式呢?[/color]
这个例子其实刚好解决了我遇到的一个flex的问题。
一个父TitleWindow,一个子TitleWindow,我想实现这个功能:当子窗口关闭时,父窗口要拿到子窗口的一些数据进行条件查询操作。
我起初觉得,用event的转发应该可以实现数据传递功能,方法是:自定义一个QueryEvent,在子窗口中封装数据,转发该事件。
父窗口则事先注册好该时间,当子窗口的事件流流经父窗口时,则可以从event对象中获取到数据,进行查询。
但是,这种做法后来被证实是错误的,父、子窗口并不是在同一个显示列表中中,因此它们之间不存在事件流动。
那该怎么才能将子窗口的数据传给父窗口呢?
答案就是:观察者模式。通过上面那篇博客应该可以看到观察者设计模式的影子。我也正是从这篇博客找到解决的方法的。