Robotlegs: У меня есть 2 взгляда и посредники, которые имеют общего 1 вещи, как я могу его высушить?

StackOverflow https://stackoverflow.com/questions/4111258

  •  29-09-2019
  •  | 
  •  

Вопрос

У меня есть 2 взгляда, которые показывают списки, которые затем используют посредник для получения данных. Но я хочу в некотором роде высушить его, поэтому мне не нужно повторять себя в 2 раза за то же самое. как это сделать?

Редактировать1 (код):

[SkinPart(required="false")]
public var WOListsDDL:DropDownList;
    // in partadded
case WOListsDDL:
    // when the selected list is changed in the lists drop down list
    WOListsDDL.addEventListener(IndexChangeEvent.CHANGE, _WOListsDDL_changeHandler);
    WOListsDDL.dataProvider = new ArrayCollection();
    WOListsDDL.labelField = 'title';
break;
    //

    protected function _WOListsDDL_changeHandler(event:*):void{
        _debug('List selection changed handler.');
        _getContentsForList();
    }
    protected function _getContentsForList():void{
        _debug('Getting list items.');
        getItemsSignal.dispatch({key: getSelectedList()._key, itemType: 'item'});
    }
    public var getItemsSignal:GetItemsSignal = new GetItemsSignal();

    override public function mediatorComplete():void{
        getItemsSignal.dispatch({key: tottysAuth.getCurrentUser()._key, itemType: 'list'});
    }

// тогда в моем посреднике

    [Inject] public var getItemsSignal:GetItemsSignal;
    override public function onRegister():void{
        // view listeners
        view.getItemsSignal.add(_getItemsSignalHandler);
    }
    protected function _getItemsSignalHandler(input:Object):void{
        getItemsSignal.dispatch(input);
    }

Это все для одного взгляда-посредника. Теперь у меня есть 2 посредника, которые выполняют эти задачи. Как сделать их сухими?

Решения у меня есть: сделать небольшой вид, содержащий раскрывающийся список с посредником, который слушает событие. В больших компонентах они слушают сигнал в поле зрения этого маленького компонента. ничего больше. кажется довольно хорошо, но я не думаю, что так велико

Это было полезно?

Решение

Таким образом, есть функциональность на взглядах, так и в посредниках, которые вы хотели бы не повторяться?

Вы можете поставить код, который вы хотите повторно использовать в другом объекте, и вызовите его методы из нескольких видов и посредников. Или вы могли бы поставить его в классы предков и продлить каждый из этих классов как на ваш взгляд, так и в вашем посредничестве.

Лучшая практика будет делать бывшие, а не последние.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top