MVC如何更方便?

时间:2009-12-07 22:01:33

标签: php model-view-controller

我有一个大型网站,我有时间转换为一个很好的自定义框架,我可以根据自己的需要构建。我想建立自己的,而不是像Smarty那样使用,因为我想......

  1. 知道它的所有内容是如何工作的
  2. 切断任何臃肿
  3. 学习它,只是为了踢腿
  4. 但是,在以不同的方式构建它之后,好几次......我一直觉得,由于它提供的“便利”数量,代码变得越来越不灵活,试图跟踪文件变得很难三倍(特别是如果你是该项目的唯一开发人员,并且甚至没有任何真正令人敬畏的文档。

    此时,我真的需要说服......这又如何改变我的生活?

6 个答案:

答案 0 :(得分:7)

这已经回答already,但为了更好地说明它,我认为包含何时到/不是MVC的单一属性是可扩展性:

  1. MVC允许明确分离职责(即前端与数据库编码器)。
  2. MVC是一种强制统一编码习惯的模式。
  3. 可维护性增加,因为新项目成员(了解MVC)更容易理解代码库。
  4. 如果您是该代码的唯一所有者,并且不希望其他人很快加入,那么您就不需要它。

答案 1 :(得分:4)

将现有项目转换为某种新模式/框架可能很困难(有时是不可能的)。它还取决于您如何实现MVC框架。

  • 你说跟踪文件很难。虽然你可能会得到更多的文件,但是如果你有一个好的组织和命名系统,也就不应该很难跟踪它们,即将模型,视图和控制器保存在3个单独的文件夹中,或者有某种命名约定,告诉你什么是
  • 我也不明白为什么你认为代码更“不灵活”。将代码正确地分离到模型,视图和控制器中是因为它更加模块化,并且可以防止代码重复。

关注此问题最重要的是维护。 MVC框架的最大好处之一是更容易找出哪些代码行为不端并修复它。隐瞒分离=分离问题&错误。

答案 2 :(得分:1)

从某种意义上来说,这是一种可接受的模式,这可能是最方便的,其他人进出你的项目会理解它。这本书的设计模式的重要之处并不在于模式是新的,而是它们都突然接受了名称。

如果您是并且将成为唯一的更新者,那可能没什么大不了的。

答案 3 :(得分:1)

MVC的最大优点是它只是一个概念。只要你遵循分离职责的标准,你如何实施它。

我根据项目中需要的内容编写了一些不同的MVC代码库。一个代码库具有服务层,以进一步将“业务逻辑”与控制器和视图分开。另一个与Web控制器分离的CLI控制器。

这就是我看待和使用MVC的方式。我建议在网上找一些关于MVC的可靠文件或博客文章。

答案 4 :(得分:1)

我对MVC的喜爱之处在于,当您将其交给另一位开发人员时,无论是新员工还是长期支持,任何对MVC有所了解的人都可以很快找出正在发生的事情。 / p>

这并不是说它是看待事物的最佳方式,但它是大多数人都能理解的方式。

答案 5 :(得分:1)

在做MVC或HMVC之后,我无法回到意大利面条编码。根据后端的扩展程度来切换大型站点需要一些时间,但根据您的维护工作量,可能是值得的。

我可以问一下是什么让你想做一个自定义框架?我的意思是,我不怀疑任何事情,只是技术进步不断增长 - 我不强烈推荐drupal或蛋糕..我会推荐像Kohanaphp.com这样的东西,它非常轻巧,有一个很棒的数据库连接器称为ORM(对象关系映射),它是MVC的一个很好的用法。最好的部分是,您不必完全维护您的框架,因为它是开源的并且拥有一个活跃的社区。虽然,作为一名自己的程序员,我确实理解我们如何依赖于我们的代码并希望以我们的方式:D但这可以通过提供请求处理程序,xss过滤,路由和引导程序配置等工具来节省时间。

只是一个想法:D