Oop CakePHP中使用的设计模式
我的问题:Oop CakePHP中使用的设计模式,oop,design-patterns,cakephp,Oop,Design Patterns,Cakephp,我的问题:CakePHP中使用的设计模式有哪些好例子? 为什么使用CakePHP作为我的上下文 我已经使用CakePHP大约一年了,所以我认为在这种背景下思考更容易。CakePHP在设计模式使用方面也很丰富(我对此很有信心)——除了几个明显的模式之外,我不知道正在使用什么模式 我一直在阅读的有关该主题的示例书: 我正在读以下几本书,它们都在某种程度上涵盖了设计模式;不幸的是,他们大多使用java和C++代码示例,这使得我难以在实际的水平上掌握设计模式(我是PHP开发者,所以我很难吸收它): “企
CakePHP中使用的设计模式有哪些好例子? 为什么使用CakePHP作为我的上下文
我已经使用CakePHP大约一年了,所以我认为在这种背景下思考更容易。CakePHP在设计模式使用方面也很丰富(我对此很有信心)——除了几个明显的模式之外,我不知道正在使用什么模式 我一直在阅读的有关该主题的示例书:
我正在读以下几本书,它们都在某种程度上涵盖了设计模式;不幸的是,他们大多使用java和C++代码示例,这使得我难以在实际的水平上掌握设计模式(我是PHP开发者,所以我很难吸收它):
“企业应用程序架构模式”,Martin Fowler著
“头先设计模式”,由四人帮(埃里克·弗里曼、伊丽莎白·弗里曼、凯西·塞拉和伯特·贝茨)(2004年)
“设计模式:可恢复的面向对象软件的元素”,作者Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)
我可以在CakePHP中观察到的模式示例 -我猜配置文件使用了类似于工厂模式的东西
-也许$this->params正在使用与观察者模式相关的东西?我不确定…
-MVC(很明显!因为Cake PHP使用MVC文件结构)
-ORM(另一个非常明显的问题)
-可能HTML助手正在使用装饰器模式?
摘要
我不希望有人会继续下去,找出CakePHP中使用的所有模式——我只是想找几个设计模式的例子,很明显我没有找到 我想到的一个概念是。不完全是一种模式,但实际上是一种语言特性,在某些语言(如Ruby中的模块)中可用,但在其他语言(如Java)中不可用。当5.4变得稳定时,我们将看到PHP,但是CakePHP的模型行为是一个很好的例子,可以模拟这种通常不可能的多重继承
class Post extends AppModel { // we can only inherit from one class
public $actsAs = array('This', 'That', 'Other'); // but we can do this instead
}
软件设计模式(如RoR):
- 约定优先于配置:配置中的所有配置文件
- 模型视图控制器:文件夹:模型、控制器、视图等
- ActiveRecord,关联数据映射:数据库映射
- 前端控制器:主入口点(index.php)
- Singleton--通过“getInstance,Singleton”查找
- 工厂--按“工厂”查找
- 生成器--由“生成器”查找
- 适配器--通过“适配器”查找
- 前端控制器(.htaccess,include)
- 策略——通过“策略”查找
- 两步视图模式--“两步视图”