【问题标题】:Clean, Modular Code vs MV* Frameworks干净、模块化的代码与 MV* 框架
【发布时间】:2013-08-15 20:59:47
【问题描述】:

我听说过很多关于“新”MV* 框架的信息。我已经修改了 KnockoutJS,创建了一个发票应用程序,但我更喜欢用原始 JavaScript 编写干净、模块化的代码——必要时利用实用程序 API 和其他库

考虑到编写 JavaScript 应用程序的有条不紊/结构化/SOLID 方法,其中遵循 OOP、SOC、SRP 和其他设计原则,使用 MV* 框架难道不是多余的吗?

是否有任何文章表达/解决了这些问题?

我过去发现过一个:

http://www.netmagazine.com/opinions/dont-get-tied-one-javascript-framework

【问题讨论】:

    标签: javascript model-view-controller angularjs mvvm knockout.js


    【解决方案1】:

    Knockout 非常模块化,但也非常易于维护。例如 bindingHandler 模式使得使用 jQUery UI 等扩展库变得非常容易

    MVVM 只是一种将 View 和 View 逻辑 (ViewModel) 以解耦的方式粘合在一起的模式(如果你做得正确的话)。您仍然可以从模块化、OOP 等中获益,因此您可以继续做过去所做的事情,做得更好。

    【讨论】:

      【解决方案2】:

      如果您编写良好、干净、模块化的代码,您会发现您重复了很多模式,甚至可能从过去的项目中复制了很多样板代码。你最终会得到你自己的各种个人框架。

      每个像您描述的那样干净、模块化的应用程序背后都有某种框架,可以是可重用的第三方框架,也可以是随应用程序/在应用程序下发展的东西。许多开发人员发现如果使用其他人的框架,他们可以节省时间并拥有一个更好的框架。

      【讨论】:

      • 添加到@trevor 答案,与已经尝试和测试过的框架相比,您在创建这样的实现\框架时犯错的机会更少。最终,您将不得不解决作为您自己实施的一部分出现的所有问题。
      • 你说的重复模式是对的,这就是模式,是重复的东西。软件设计模式是编写代码的尝试和真正的方法。我最终会在其他应用程序中重复使用所述代码的位/段。这与 Angular 或 Knockout 等固执己见的框架有何不同,它们在应用程序到应用程序中重复使用?除了它们较重且包含我可能永远不会使用的功能这一事实之外?或者,证明使用上述框架是合理的,因为我想在一些表单上使用双向绑定。不是试图抨击你的回答,但你在呼应我以前听过的论点。
      猜你喜欢
      • 2018-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      相关资源
      最近更新 更多