buttonView(つまり単純なボタン)があるとしましょう。rootViewでクリックを登録するには、次のようにします。
一般的に最初のアプローチに従います:class RootView {var buttonView:ButtonView; .... buttonView.addEventListener(ButtonView.CLICK、buttonView_click); ...}
基本的なアプローチ(2番目のアプローチ)を次のように実行してみませんか?
class RootView
{
var buttonView:ButtonView ;
buttonView.setFunction( buttonView_click ) ;
}
class ButtonView()
{
public function setFunction( someFunction:Function)
{
viewFunctionArray_Arr.push( someFunction )
}
public function onClick()
{
// remove dispatchEvent from here , instead
for ( var i=0; i< viewFunctionArray_Arr.length; i++)
{
//calling the registered functions of all the views one by one
viewFunctionArray_Arr[i] ( ) ;
}
}
}
説明が「緩い結合」に関するものである場合、「最初のアプローチ」はどのように緩い結合であるのだろうか。結局のところ、最初のアプローチでは、それを必要とするビューでインスタンス「buttonView」を使用しているからです。したがって、rootViewはbuttonViewについて知る必要があります。ではない ?