Codeigniter使用哪种设计模式?

8

非常简单的问题:

我知道Codeigniter是一个MVC框架,但是它使用什么设计模式呢?

乍一看似乎是Facade,但我可能错了。

编辑:

也许我应该为那些不使用它的人描述一下Codeigniter。
在Codeigniter中,您有控制器(Controller)和模型(Model)的概念,每个都有自己独立的文件夹。在每个文件夹中,您可以创建一个文件: cart.php:

<?php

class Cart {
 //...
}
?>

然后您还可以拥有一个模型:

<?php

class User {
    function login(){...}
}
?>

在 Cart 类中,您可以通过 $this->user->login() 来简单地使用 User 中的登录函数。
我觉得这很有趣,因为框架创建了一个 User 对象的对象,而程序员并没有手动创建。
1个回答

6
在Codeigniter中,你有控制器(Controller)和模型(Model)的概念,每个都有自己单独的文件夹。他们设置了主路由(router)类,以便搜索相应的控制器和模型文件,甚至可以递归查找。这与任何设计模式无关,只是一种文件夹组织形式。
我认为这很有趣,因为框架创建了一个用户(User)对象的对象,而程序员不需要自己创建。是的,他们已经创建了很多现成的东西,随时可以使用。User类用于控制整个用户系统。
基本上,正如你所说,主要使用的设计模式是MVC,其余的事情由不同的核心(core)类来控制特定的任务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接