我将PHP与CodeIgniter(MVC框架)一起使用。我的问题很简单。根据您的说法,在使用稍微复杂的网站时,这是更好的方法。
规划完成后,列出网站的所有小功能和大功能以及它们的位置,并规划数据库的表格和列。
我现在要开始一次构建一个页面。处理CSS问题,同时执行行为(JavaScript)和后端。
根据您的经验,前端完全处理所有问题,完成所有事情是否更有效率。然后研究后端逻辑?
JavaScript怎么样? (只做用户界面相关的JavaScript +验证与前端 - 然后用后端做所有AJAX调用和响应...?)
答案 0 :(得分:11)
我强烈建议采用迭代方法,逐步开发前端和后端。
在后端获得可以进行单元测试的简单工作,然后构建一个与之交互并实现前端功能的简单UI。彻底测试。重复直到完成。
如果您不这样做,那么您会发现很难确定功能是否正常工作。结果,在最后将各个部分粘合在一起将是一场噩梦:最多你会花很多时间调试,最糟糕的是你会发现一个主要的设计缺陷,并且必须重写代码库的大部分内容。 / p>
答案 1 :(得分:1)
我没有用PHP做MVC,但我对WPF / C#的体验应该是类似的。我开始使用架构(我使用了一个DI容器将所有内容放在一起),之后我做了第一个ViewModel,以及一个非常简单的用户界面,检查一切是否正常(是的,TDD会更合适,无论如何) )。我继续说,并没有真正专注于UI,除非我需要一个按钮左右。过了一会儿,我完成了ViewModel并专注于用户界面,对其进行了优化。
如果你在所有三个组件之间跳转,我看不出问题,只是因为你需要全部三个才能使页面工作。此外,您在工作时不会那么容易感到无聊。只是不要失去你的目标,并努力完成大部分功能。 UI抛光可以在之后进行,并且由于MVC方法不应该花费太多时间。
答案 2 :(得分:1)
你问的是一个非常笼统的问题,还有一些细节......
我理解的一般问题是:在编写软件方面 - 最好是自下而上(首先是数据库调用,然后是业务逻辑,之后是ui)还是自上而下(首先是ui,业务逻辑,数据库调用)
自上而下是很好的,以便尽早解决UI问题。它会留下业务逻辑和数据访问(以及可能的其他基础设施代码)以供日后使用。
自下而上是为了尽早消除基础设施问题,将UI留到最后。
这两种方式都是有效的,如果你是单一的开发者,那么归结为这个 - 你觉得哪一个更舒服?
就个人而言,我会提供全功能,一次一页 - 确保一切正常(单位和验收测试有意义)。这样,您可以同时处理所有方面,并可以更快地解决问题。
您希望在软件的各个方面(UI,业务逻辑,数据访问和其他基础架构)上建立一个简短的反馈循环。越短越好 - 它允许你在它们变得太大而不能优雅地改变之前快速解决问题并向客户展示你正在取得的进展,让它们尽早引导你。