装饰模式
所谓装饰模式就是让程序一层一层的包下来, 像是大口袋套小口袋。
例:
- class 食物{
- var $des='食物';
- var $cost;
- function getdes(){
- return $this->des;
- }
- function getcost(){
- return $this->cost;
- }
- }
- //被装饰者类
- class 米饭 extends 食物{
- var $des="米饭";
- var $cost=0.44;
- }
- //装饰者类与被装饰者继承自同一个基类
- class 菜 extends 食物{
- var $obj;
- var $des='';
- var $cost;
- }
- //细分的装饰者
- class 炒土豆丝 extends 菜{
- var $obj;
- var $des='土豆丝';
- var $cost=0.10;
- function __construct($obj){
- $this->obj=$obj;
- }
- function getdes(){
- return $this->obj->getdes().$this->des;
- }
- function getcost(){
- return $this->obj->getcost()+$this->cost;
- }
- }
- //有一个细分的装饰者
- class 咸菜 extends 菜{
- var $obj;
- var $des='咸菜';
- var $cost=0.10;
- function __construct($obj){
- $this->obj=$obj;
- }
- function getdes(){
- return $this->obj->getdes().$this->des;
- }
- function getcost(){
- return $this->obj->getcost()+$this->cost;
- }
- }
- //更多的菜
- ......
- //测试代码
- $午饭= new 米饭();
- $午饭=new 土豆丝($午饭);
- $午饭=new 咸菜($午饭);
- echo $午饭->getdes();//outputs 米饭土豆丝咸菜
- echo $午饭->getcost();//outputs 0.64
- ?>
首先必须保证一个基类,所有的子类都继承了基类的方法,并给出自己特有的定义!
然后层层嵌套,调用上一级的对象,形成嵌套的规则!即时一个装饰模式。
主要用在一些层层嵌套的规则中!
相关推荐
装饰者模式是面向对象设计中的一种行为模式,它允许在运行时向对象添加新的行为或责任,而无需修改对象的源代码。在PHP5中,装饰者模式的应用可以帮助我们保持代码的灵活性,使得扩展功能变得容易,同时也遵循了开闭...
装饰者模式是一种结构型设计模式,它允许在运行时向对象添加新的行为或职责,而无需修改对象的源代码。在PHP中,装饰者模式尤其有用,因为它提供了灵活性,可以在不改变类原有结构的情况下扩展其功能。下面我们将...
这个压缩包很可能包含了关于如何在PHP项目中应用设计模式的资料,特别是针对"designpatterns-php-master"这个文件名,我们可以推测这可能是一个关于PHP设计模式的开源项目或教程。 设计模式并不直接是代码,而是一...
这些设计模式不仅在PHP中适用,也是跨语言的编程思想,可以帮助开发者编写出更加高效、可维护和可扩展的代码。在实际项目中,合理运用设计模式,可以使代码结构更加清晰,降低复杂性,提升代码质量。
"PHP 设计模式-design-patterns.zip"这个压缩包很可能包含了对多种设计模式在PHP中的实现示例。设计模式通常分为创建型、结构型和行为型三大类,下面我们将详细探讨这些类别中的主要设计模式。 **创建型设计模式:*...
《PHP设计模式-中英双语》是一本深入探讨PHP编程中设计模式的指南,旨在帮助开发者提升代码质量和可维护性。设计模式是软件工程中经过时间验证的、解决常见问题的最佳实践,它们为复杂的软件设计提供了通用解决方案...
标题和描述中提到的"PHP设计模式"是一个关于如何在PHP项目中有效应用设计模式的教程。设计模式不仅适用于大型企业级项目,也是小型个人项目提升代码质量的关键。这个资源包含两个部分:设计模式的讲解和源码实例,这...
在编程领域,设计模式是一种通用解决方案的描述,用于解决软件设计中反复出现的问题。PHP作为一门广泛应用于Web开发的语言,同样可以应用23种经典的GOF(GoF,Gang of Four)设计模式。这些模式提供了可重用的结构,...
以上只是PHP设计模式中的一部分,每种模式都有其适用的场景和价值。通过学习和应用这些设计模式,开发者可以写出更高效、更具扩展性和易于维护的代码。在实际项目中,根据需求灵活选择和组合设计模式,可以显著提高...
《PHP设计模式》是一本探讨如何在PHP编程中应用设计模式的书籍。设计模式是软件工程领域中,解决常见问题的模板或策略。本书作者是美国的Aaron Saray,内容详尽地介绍了各种设计模式,旨在帮助PHP开发者构建出更加...
**PHP设计模式详解** 在IT领域,设计模式是一种在特定情境下解决常见问题的标准方法,它们代表了软件...《Learning PHP设计模式》这本书正是为此目的而生,它将引导你深入理解这些模式,从而在实际开发中游刃有余。
因此,我会根据【标题】和【描述】字段中提供的信息,来生成关于PHP设计模式的知识点。 PHP设计模式的知识点主要包括: 1. 设计模式的概念:设计模式是软件开发中用于解决特定问题的一般性模板,它不是直接的代码...
以上就是压缩包中的部分PHP设计模式介绍。通过学习和应用这些模式,开发者可以编写出更加灵活、可维护的代码,提高代码质量,降低维护成本。如果你在使用过程中遇到任何问题,可以直接向作者提问。
在软件开发中,设计模式是解决常见问题的模板或最佳实践,它们被广泛应用于各种编程语言,包括PHP。本资源“用PHP语言实现16个设计模式.zip”提供了关于如何在PHP环境中应用这些模式的详细指导。以下是这16个设计...
在标题提及的《设计模式-7种开发语言(C#、JAVA、JavaScript、C++、Python、Go、PHP)》中,作者林晨一点详细介绍了24种经典的设计模式,并提供了这七种主流编程语言的代码示例。以下将对其中一些关键的设计模式进行...
以上只是PHP设计模式中的一部分,每种模式都有其独特的应用场景和价值。通过学习和掌握这些设计模式,开发者可以更好地设计和重构代码,提高软件的灵活性、可读性和可维护性。在实际开发过程中,应根据项目的具体...
《PHP设计模式全解》是一本深入探讨PHP编程中设计模式的资源集合,它旨在帮助PHP开发者提升代码质量、可维护性和复用性。设计模式是软件工程中的宝贵经验总结,通过将常见的问题解决方案标准化,使得开发过程更加...
《Learning PHP设计模式》是由美国作家William Sanders撰写的一本面向初学者和中级PHP开发者的设计模式指南。这本书旨在帮助读者理解并应用设计模式这一强大的软件工程工具,以提高PHP编程的效率和代码质量。设计...
《PHP设计模式介绍》导言 《PHP设计模式介绍》第一章 编程惯用法 《PHP设计模式介绍》第二章 值对象模式 《PHP设计模式介绍》第...《PHP设计模式介绍》第十二章 装饰器模式 《PHP设计模式介绍》第十三章 适配器模式