我有一个关于复杂应用程序结构的问题。因为我的知识背景不是来自教育,我总是有关于应用程序层,设计模式和编程结构的问题。首先,我可以做任何我想用PHP的,因为我知道常用的功能,我有PHP的经验。但是我想创建比以前更大更复杂的应用程序,所以在编写代码时我总是自己提问。这是最好的地方吗? ,这是做这件事的最好方法吗? ,人们是否用这种方式来做同样的事情?为了正确回答这些问题,我创建了自己的小型mvc php框架,它看起来像Zend Framework。我这样做是因为我想澄清应用程序的所有部分。我知道在我的框架和我的所有应用程序中有很多设计犯罪。我认为主要问题是控制器和模型之间的边界。我在这里问了很多关于这个问题的问题,但对我来说还是不清楚。因此,我会解释我所知道的以及我所做的事情,并且请展示我的错误并纠正它们,或者仅仅解释关于设计模式的一些信息,或者只是显示我的问题,以便我可以研究它,因为我甚至没有知道我的问题,但我知道我所做的并不是最好的方式,所以我可以提高自己。复杂和企业级应用程序的结构
我知道
- 我知道活动记录模式。例如,我们有用户类,我们使用相同的类将数据保存到数据库,并且我们使用相同的类作为对象。所以对象是活动的,我们可以创建一个,然后如果我们改变它,我们可以将它保存为同一类($ user = new user('Oguz'); $ user-> save();)
- 我知道工厂模式。我们必须为一个对象(User_Factory和User)分类。我们使用user_factory类来访问数据库,例如获取用户或删除用户。用户类是它自己的对象。
好吧,我的问题开始时,对象之间的连接(不像manytomany或belonsto)。例如,我们有一个视频网站有一个最喜欢的系统。添加收藏夹的过程包括以下步骤(1-使用此ID检查视频,使用此ID检查用户,验证步骤)。虽然我们只是添加或更新一个对象,但我们也使用其他对象(用户工厂和视频工厂)。通常我可以在控制器中完成所有这些事情。但我认为这不是做这件事的最好的地方。因为我将这些步骤称为进程(添加最喜欢的进程)。所以这个进程不应该放在控制器中,因为我们可能想要在另一个控制器操作中使用与api相同的进程。所以我觉得应该有另一个地方,包括这个过程,例如过程库。我甚至不知道我在谈论哪个编程问题。
对象之间的连接不仅仅存在于验证步骤中。例如,考虑搜索过程。当用户首先搜索一个字符串时,我们必须创建新的搜索行(对于最新搜索的内容),那么我们必须搜索youtube,如果我们无法找到我们必须搜索其他视频网站等等。所以这个操作是一个流程搜索过程,我认为把所有的逻辑放在控制器中是正确的方法。我们使用大量的类和对象,所以我不能把这个过程放在搜索对象类中。
谢谢大家,对不起,我的英语。我非常渴望了解更多信息,自从我11岁起,我一直在使用PHP(我现在是19岁)。明年我将成为大学生(我希望)。我希望这将是一个了解更多问题和做更多事情的好地方。我现在问这个问题是因为我不能忽视这些问题,直到成为大学生。即使你没有回答,或者你不明白我的问题,谢谢你的阅读。请随时编辑并改进我的问题。
我真的很喜欢编码复杂的应用程序(对许多人来说可能并不复杂)。我认为解决问题是非常愉快的。所以我急于要学习什么是企业级编码的标准。也许这对我的情况没有必要。但我想用最好的编程方法创建我的应用程序。
如果你问我,对于非母语的人来说,该死的英语很好。 – gahooa 2009-12-16 02:53:02