1. 工厂模式
工厂模式提供了一个在实时状态下实例化对象的机制。
<?php
class creditCardProcessor
{
public static function factory($provider)
{
switch ($provider)
{
case 'Verisign':
//include "Verisign.php";
echo 'Verisign.php';
break;
case 'PayPal':
//include "Paypal.php";
echo 'Paypal.php';
break;
default:
exit("Invalid CC Provider");
}
return new $provider;
}
}
$cc = creditCardProcessor::factory('PayPal');
?>
运行结果如下图所示:
2. 单例模式
单例模式在确保只有一个实例运行时使用,也可以用来防止类通过clone来复制。
class dbMysgl
{
private static $conn;
private function __construct()
{
$this->conn = mysql_connect(host, login, pass);
}
public static function singleton()
{
if(!self::$conn)
{
$c = __CLASS__;
self::$conn = new $c;
}
return self::$conn;
}
public function __clone()
{
trigger_error("Only one connection may exist");
}
}
$db = new dbMysgl(); // 失败
$db = dbMysgl::singleton(); // 使用的正确方法
$db2 = clone($db); // 失败
转载地址:
http://www.xuekaifa.com/article/20100626/000067.html
分享到:
相关推荐
本资源“用PHP语言实现16个设计模式.zip”提供了关于如何在PHP环境中应用这些模式的详细指导。以下是这16个设计模式的概述,以及它们在实际开发中的应用和重要性。 1. 单例模式:确保一个类只有一个实例,并提供...
适配器模式使两个不兼容的接口能够协同工作。在PHP中,它常用于整合不同API或库,使得它们可以无缝对接。 9. **代理模式(Proxy)** 代理模式为其他对象提供一种代理以控制对这个对象的访问。在PHP中,它可以用于...
6. **适配器模式(Adapter)**:使两个不兼容的接口能够协同工作。在PHP中,适配器模式可以用来集成第三方库或API,使其符合项目的需求和标准。 7. **代理模式(Proxy)**:为其他对象提供一种代理以控制对这个对象...
9. **适配器模式**:适配器模式可以使两个不兼容的接口协同工作。在PHP中,这可以用来兼容第三方库或服务的接口。 10. **桥接模式**:桥接模式将抽象部分与实现部分分离,使得它们可以独立变化。在PHP中,当需要...
9. 适配器模式:适配器模式使两个不兼容的接口能够协同工作。在PHP中,它可以用于整合第三方库与项目现有的接口,实现系统的无缝对接。 10. 桥接模式:桥接模式将抽象部分与实现部分分离,使它们可以独立变化。在...
每个设计模式通常由三个核心部分构成:标识(一个名字)、问题陈述(问题的描述)和解决方案(问题的处理方法)。设计模式的标识便于其他开发者快速理解代码的目的,问题陈述明确了模式适用的上下文,而解决方案则...
适配器模式则解决接口不兼容的问题,它使两个不兼容的接口能够协同工作。在PHP中,可能需要将第三方库的接口转换为符合项目规范的接口,适配器模式就能派上用场。 观察者模式是一种行为模式,当一个对象的状态改变...
- 适配器模式:使两个不兼容的接口能够协同工作。 - 装饰模式:动态地给一个对象添加一些额外的职责。 - 享元模式:使用共享技术有效地支持大量细粒度的对象。 3. 行为型模式: - 责任链模式:避免将请求的发送...
适配器模式是一种结构型设计模式,它允许两个不兼容的接口协同工作。在PHP中,这通常意味着将旧的或第三方库的接口转换为符合项目需求的接口。示例中,`Adapters`类作为适配器,将`Man`和`Woman`类的`oldMethod1`和`...
最后,适配器模式是将两个不兼容的接口进行桥接,使得原本无法一起工作的类能够协同工作。在PHP中,我们可以通过继承或组合来实现适配器,使得旧代码可以与新系统集成。 总的来说,《PHP5设计模式电子教程PDF全书》...
5. **适配器模式**:允许两个不兼容的接口之间进行通信。通过创建一个适配器类,可以使旧的接口与新的接口相适应,保持系统的兼容性。 这些设计模式的运用提升了PHP代码的灵活性、可复用性和可维护性,是编写高质量...
5. 适配器模式:使两个不兼容的接口能够协同工作。在PHP中,适配器模式常用于集成第三方库或服务,使得它们能够与项目中的其他组件兼容。 6. 建造者模式:将复杂对象的构建与其表示分离,使得同样的构建过程可以...
当两个接口不兼容时,适配器模式允许它们协同工作。在PHP中,可以用于整合不同API或库,使得代码能适应多种环境。 6. **装饰器模式** 装饰器模式动态地给对象添加新的功能,而无需修改原有代码。它在PHP中常用于...
7. **适配器模式**:适配器模式让两个不兼容的接口协同工作,它在PHP中常用于库或API的兼容性处理。 8. **观察者模式**:观察者模式定义了对象间的一种一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的...
适配器模式使两个不兼容的接口能够协同工作,它将一个类的接口转换成客户希望的另一个接口。在PHP中,适配器模式常用于整合第三方库或API,使其符合项目需求。 十、桥接模式(Bridge) 桥接模式将抽象部分与实现...
适配器模式使得两个不兼容的接口能够协同工作。在PHP中,它可以用来集成第三方库或服务,使它们能够与现有代码无缝对接。 七、代理模式 代理模式为其他对象提供一种代理以控制对这个对象的访问。在PHP中,代理模式...
《PHP设计模式手册》是PHP开发者的一本重要参考资料,它由php|architect出版,旨在帮助程序员深入理解并熟练运用设计模式。设计模式是软件工程中的最佳实践,它为解决常见问题提供了可重用的解决方案。这本书对于PHP...
在软件设计模式中,工厂模式是一种常用的创建型模式,它提供了一种创建对象的最佳方式。在PHP中,工厂模式能够帮助我们解耦代码,使得代码更具有灵活性和可扩展性。在这个例子中,我们将深入探讨如何使用工厂模式来...
适配器模式允许两个不兼容的接口协同工作。在PHP中,它可以用于将第三方库或者旧代码接口转换为符合项目需求的接口。 6. 观察者模式(Observer) 观察者模式定义了对象之间的一对多依赖关系,当一个对象的状态发生...