4

我将 PHP 与 CodeIgniter(MVC 框架)一起使用。我的问题很简单。根据您的说法,在处理稍微复杂的网站时,更好的方法是什么。

在规划并列出网站的所有大小功能以及它们将在哪里,并规划出数据库的表和列之后。

直到现在我才开始一次构建一页。处理 CSS 问题,同时处理行为(JavaScript)和后端。

根据您的经验,前端完全处理所有问题,完成所有事情是否更有效率。然后处理后端逻辑?

JavaScript 呢?(只在前端进行与用户界面相关的 JavaScript + 验证——然后在后端进行所有 AJAX 调用和响应......?)

4

3 回答 3

11

我强烈推荐一种迭代方法,您可以逐步开发前端和后端。

在后端进行一些简单的工作,您可以对其进行单元测试,然后构建一个与此交互并实现前端功能的简单 UI。彻底测试。重复直到完成。

如果您不这样做,那么您会发现很难验证功能是否正常工作。结果,最后将各个部分粘合在一起将是一场噩梦:最好的情况是您将花费大量时间进行调试,最坏的情况是您会发现一个主要的设计缺陷并且必须重写大部分代码库。

于 2010-09-12T19:10:08.970 回答
1

我没有用 PHP 做 MVC,但我在 WPF/C# 方面的经验应该是相似的。我从架构开始(我使用 DI 容器将所有东西放在一起),然后我做了第一个 ViewModel 和一个非常简单的 UI,以检查一切是否正常(是的,TDD 会更合适,无论如何)。我继续这样做,并没有真正专注于 UI,除非我需要一个按钮左右。过了一会儿,我完成了 ViewModel 并专注于 UI,对其进行了润色。

如果您在所有三个组件之间跳转,我看不出问题,只是因为您需要所有三个组件才能使页面正常工作。此外,您在处理它时不会那么容易感到无聊。只是不要失去目标,努力完成大部分功能。UI 抛光可以在之后完成,并且由于 MVC 方法不应该花费太多时间。

于 2010-09-12T19:11:53.493 回答
1

您问的是一个非常笼统的问题,并带有一些细节...

我理解一般问题是:在编写软件方面 - 自下而上(首先是数据库调用,然后是业务逻辑,然后是 ui)还是自上而下(首先是 ui,业务逻辑,数据库调用)编写更好。

自上而下可以尽早解决 UI 问题。它将业务逻辑和数据访问(可能还有其他基础设施代码)留给以后使用。

自下而上可以尽早解决基础设施问题,将 UI 留到最后。

这两种方式都是有效的,如果你是单一的开发者,归根结底就是——你更喜欢哪一种?

就个人而言,我会使用完整的功能,一次一页 - 确保一切正常(在有意义的地方进行单元和验收测试)。这样您就可以同时处理所有方面的问题,并且可以更快地解决问题。

您希望对软件的所有方面(用户界面、业务逻辑、数据访问和其他基础设施)都有一个简短的反馈循环。越短越好——它可以让你在事情变得太大而无法优雅地改变之前快速修复它们,并向客户展示你正在取得的进展,让他们尽早引导你。

于 2010-09-12T19:12:12.837 回答