2009-12-16 49 views
2

我有一个关于复杂应用程序结构的问题。因为我的知识背景不是来自教育,我总是有关于应用程序层,设计模式和编程结构的问题。首先,我可以做任何我想用PHP的,因为我知道常用的功能,我有PHP的经验。但是我想创建比以前更大更复杂的应用程序,所以在编写代码时我总是自己提问。这是最好的地方吗? ,这是做这件事的最好方法吗? ,人们是否用这种方式来做同样的事情?为了正确回答这些问题,我创建了自己的小型mvc php框架,它看起来像Zend Framework。我这样做是因为我想澄清应用程序的所有部分。我知道在我的框架和我的所有应用程序中有很多设计犯罪。我认为主要问题是控制器和模型之间的边界。我在这里问了很多关于这个问题的问题,但对我来说还是不清楚。因此,我会解释我所知道的以及我所做的事情,并且请展示我的错误并纠正它们,或者仅仅解释关于设计模式的一些信息,或者只是显示我的问题,以便我可以研究它,因为我甚至没有知道我的问题,但我知道我所做的并不是最好的方式,所以我可以提高自己。复杂和企业级应用程序的结构

我知道

  1. 我知道活动记录模式。例如,我们有用户类,我们使用相同的类将数据保存到数据库,并且我们使用相同的类作为对象。所以对象是活动的,我们可以创建一个,然后如果我们改变它,我们可以将它保存为同一类($ user = new user('Oguz'); $ user-> save();)
  2. 我知道工厂模式。我们必须为一个对象(User_Factory和User)分类。我们使用user_factory类来访问数据库,例如获取用户或删除用户。用户类是它自己的对象。

好吧,我的问题开始时,对象之间的连接(不像manytomany或belonsto)。例如,我们有一个视频网站有一个最喜欢的系统。添加收藏夹的过程包括以下步骤(1-使用此ID检查视频,使用此ID检查用户,验证步骤)。虽然我们只是添加或更新一个对象,但我们也使用其他对象(用户工厂和视频工厂)。通常我可以在控制器中完成所有这些事情。但我认为这不是做这件事的最好的地方。因为我将这些步骤称为进程(添加最喜欢的进程)。所以这个进程不应该放在控制器中,因为我们可能想要在另一个控制器操作中使用与api相同的进程。所以我觉得应该有另一个地方,包括这个过程,例如过程库。我甚至不知道我在谈论哪个编程问题。

对象之间的连接不仅仅存在于验证步骤中。例如,考虑搜索过程。当用户首先搜索一个字符串时,我们必须创建新的搜索行(对于最新搜索的内容),那么我们必须搜索youtube,如果我们无法找到我们必须搜索其他视频网站等等。所以这个操作是一个流程搜索过程,我认为把所有的逻辑放在控制器中是正确的方法。我们使用大量的类和对象,所以我不能把这个过程放在搜索对象类中。

谢谢大家,对不起,我的英语。我非常渴望了解更多信息,自从我11岁起,我一直在使用PHP(我现在是19岁)。明年我将成为大学生(我希望)。我希望这将是一个了解更多问题和做更多事情的好地方。我现在问这个问题是因为我不能忽视这些问题,直到成为大学生。即使你没有回答,或者你不明白我的问题,谢谢你的阅读。请随时编辑并改进我的问题。

我真的很喜欢编码复杂的应用程序(对许多人来说可能并不复杂)。我认为解决问题是非常愉快的。所以我急于要学习什么是企业级编码的标准。也许这对我的情况没有必要。但我想用最好的编程方法创建我的应用程序。

+0

如果你问我,对于非母语的人来说,该死的英语很好。 – gahooa 2009-12-16 02:53:02

回答

2

我认为你可以做的最好的事情之一就是深入理解,真正理解事物的工作方式。在网络开发领域,我们通常与TCP,数据包,传输,协议等细节相隔离......但有时,它是如此孤立,我们忘记了解它是如何工作的,因此,坚持我们自己在一个小盒子里。

我一直在专业编程PHP近10年。我从来没有使用MVC框架。我一直将用户界面与应用程序逻辑和数据库访问分开。

我们不需要一堆“模式”。我们需要真正理解这个问题,并且希望创造一个优雅的解决方案,尽可能地重新使用其他工作。

所以我想我建议你将重点从试图让你的应用适合一种模式,并重新考虑成功完成你的应用所需的逻辑。很多时候,这很简单,但我们倾向于过度复杂化。

丢掉MVC和图案的手铐......(然后看着我因为对现状的咆哮而堕落)。

祝你一切顺利。顺便说一句,你将学到更多关于4年的编程,比4年的大学。不是说你应该或不应该上大学,但要知道在很多情况下,你已经比你的教授知道的更多的是关于真实世界的编程。

+0

@gahooa:高五! ;) – 2009-12-16 03:08:10

2

MVC是一种盛开20年的时尚。如果你觉得它会把你推向“错误”的代码,那是因为它就是这样做的。从第一个原则开始做事。而......社区不是神圣智慧的圣地。我们只是一堆响亮的代码猴子。使用你自己的大脑。而且...... MVC是一种盛行20年的时尚。如果你觉得它会把你推向“错误”的代码,那是因为它就是这样做的。从第一个原则开始做事。并...

祝你好运,并享受你的努力!

+1

大声笑出来......“而......社区不是神圣智慧的圣地,我们只是一堆响亮的猴子。” – gahooa 2009-12-16 03:10:18

相关问题