我们最初将Marionette Behaviors作为一种工具来为我们的视图构建模块化组件,但这只是为了创建可重用性的行为。我仍然希望构建特定的行为,以便将视图与事件驱动的行为分开,但是,它们将被视为过于具体,即。事件驱动行为在一个表单上,该表单与具有复杂业务逻辑的复杂模板交互。
但是从我的情况看,是否正在构建模块化行为正确的道路?显然,Marionette让用户可以自由地使用他们认为合适的行为,但是我们是否应该建立一种行为,即使它只使用一次?
答案 0 :(得分:0)
Marionette行为是一种从视图中提取可重用行为然后在需要时重用它的方法,就像The Pax Bisonica写的那样。尽管选择将您的功能抽象为行为,即使它们不会在其他视图中重复使用,也不是构建特定的不可重用视图,或者只是从视图 C , > B ,并从视图中查看 B A 等。
举个例子,假设我们想要一个自定义视图( C ),非常具体。该视图与其他两个视图有x个共同点,因此我们将根据BaseView
类( A >创建一个新视图( B ) ,这有共同的行为。然后扩展该视图以创建我们所追求的自定义视图( C )。
这种“类”继承可能会变得非常混乱,特别是随着应用程序的增长。行为让您将功能抽象为可附加对象。使用类继承方法,我们只有一个initialize
方法,因此如果我们的行为需要在initialize
方法中添加侦听器等,那么我们必须从头开始更改视图。
行为是一个特定目的的区分,这通常是一个很好的方法,无论你是否会在以后重复使用,因为它更容易理解,重构和阅读。
所以是的 - 我建议你尽可能多地使用行为,即使行为结果非常具体,最终也不需要重复使用,只是为了让你的观点更加精简。