2016-10-28 7 views
0

Мы первоначально подошли к Marionette Behaviors в качестве инструмента для создания модульных компонентов для наших представлений, но это - только для создания поведения для повторного использования. Есть еще конкретные поведения, которые я хотел бы построить для того, чтобы отделить представление от поведения, управляемого событиями, однако они будут считаться слишком конкретными, т.е. поведение, управляемое событиями, в форме, которая взаимодействует со сложным шаблоном со сложной бизнес-логикой.Дизайн-подход к поведению марионеток

Но, глядя мимо моей ситуации, строит только модульное поведение на правильном пути? По-видимому, Marionette дает пользователям свободу использовать поведение по своему усмотрению, но должно ли мы строить поведение, даже если оно используется только один раз?

+0

Поведение, как правило, предназначено для повторного использования в разных точках зрения, но я предполагаю, что было бы разумно разбить сложный вид на несколько типов поведения для удобства чтения ... –

+0

@ ThePaxBisonica Я полностью согласен. Плюс, так как мы не обновили нашу марионетку, это еще больше мешает нам легко повторять поведение. Спасибо за ответ – chungmeow

ответ

0

Поведение марионетки - это способ извлечь многоразовое поведение из представления, а затем повторно использовать его там, где это необходимо, точно так же, как пишет The Pax Bisonica. Несмотря на то, что есть определенно веские причины для выбора абстрактной функциональности в поведении, даже если они не будут использоваться повторно в других представлениях, вместо того, чтобы создавать конкретные виды без повторного использования или просто наследовать вид C из вида B и вид B из поля зрения и т.д.

в качестве примера, предположим, что мы хотим иметь настраиваемое представление (C), действует очень конкретно. Этот вид имеет x общих черт с двумя другими видами, поэтому мы создадим новое представление (B) на основе класса BaseView (A), который имеет общее поведение. Затем расширьте это представление, чтобы создать пользовательское представление, которое было после (C).

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

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

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

+0

Спасибо за ответ, и я полностью согласен с вами. – chungmeow