当我构建一个简单的网站,例如我可以添加、删除和更新联系人的联系人簿时,我会创建一个index.php文件,在该文件中,如果用户没有登录,将被请求输入密码,如果他输入了正确的密码,则分配给他一个会话,并可以对这些联系人执行某些操作。
我有两份文件:
contacts.php)是要显示的HTML代码。在HTML代码之上,我包含了第二个文件并创建了类。contacts_class.php)包含所有添加、删除和更新的方法。我认为这没关系,但当涉及到实施一个大项目时,我应该如何去做呢?我是否必须为每个页面创建文件夹并将文件放入其中(如上面的HTML和类),我应该如何做呢?什么是一个好的、整洁的架构来构建每个其他程序员都能完全理解的大型项目?
发布于 2011-04-26 17:00:09
你提出了一个非常有趣和基本的问题。有关大型项目体系结构和文件夹结构组织的问题(这是体系结构的次要问题)。
今天,构建CMS框架体系结构的最常用方法是使用MVC模式。有一些关于构建您自己的MVC框架的好文章,其中之一是用构建MVC框架。
MVC代表模型、视图、控制器。您可以将这些方法称为任何您喜欢的方法- MVC、HMVC、MVP。其本质是隔离系统的各个组件。"Controller“从”模型“中检索数据,并将它们发送到"View",后者呈现最终的HTML。您已经在contacts.php中实现了"V“,在contacts_class.php中实现了"MC”。因此,您已经将视图与模型和控制器隔离开来。现在,您可以轻松地更改您的“视图”,使其他部分保持原样。
我不是建议你盲目地遵循MVC,MVP或其他"MV“模式。这是适当的、有效的和品味的问题。
通用动态网站应用程序可以包括以下组件:
index.php真正的web应用程序可能包括任何其他组件,如事件处理程序、事件调度程序和钩子,但这些实际上是细微差别。好吧,让我以我想要的方式呈现它:

共同框架操作例程如下:
index.php)。图表中显示了相应的项目文件夹结构。
我建议您研究其他框架是如何实现的。推荐的CMS /框架首先是CodeIgniter、OpenCart、Joomla1.5和Tango。
发布于 2011-04-23 17:53:29
为了了解需要问的问题和可用的解决方案,我推荐Martin的企业应用体系结构模式书。你可以从读他的网站的书中了解到什么
请注意,这本书已经相当古老(在IT领域),但许多原则仍然有效,或者你应该学习他们的学习。(这说得通吗?)
(软件)架构是一门非常广泛的学科,不要指望有一个银弹,但总是有更多的问题和更多的疑问,直到时间和金钱耗尽,你必须坚持到目前为止最好的解决方案。
发布于 2011-04-29 15:25:04
首先,看一看发展良好的项目。Wordpress是代码结构的一个非常简洁的例子:它简单易懂,但提供了大量的“插件”。所以wordpress很容易通过“插入”来建立。
第二,检查体系结构的一种非常简单的方法是尝试编写单元测试。例如,如果类"Card Deck“有一个”霉运()“方法,您必须能够创建一个预定义大小的Card Deck (即5张卡片1,2,3,4,5),调用混洗并以一种简单的方式验证结果(I.D)。1,4,2,5,3)
您必须能够在不实例化整个项目类的情况下完成测试,并且测试必须非常清晰。
如果您不能这样做,您必须在类之间添加层,重新构造它们,直到找到一种简单的方法。
然后,对项目的所有核心类重新设置此步骤。
最后但并非最不重要的一点是:一个好的体系结构在非核心类上可能“懒惰”(这是一个经济问题:设计得很好的东西在现实世界中花费太多)。
https://softwareengineering.stackexchange.com/questions/80136
复制相似问题