繁体   English   中英

该设计模式如何称呼?

[英]How is this design pattern called?

您如何称呼这种设计模式?

class Foo {
   protected $delegates = array();
   //...
   public function __call($method,$argv) {
      //call $this->$something->$method($argv), where $something is a mapping from $this->delegates
   }
}

我可以推测,但不确定,所以我想问你。

委派和继承都是面向对象软件设计中的重要概念,但是并不是每个人都将它们标记为模式。 特别是,由“四人帮”撰写的关于设计模式的开创性书籍包含对继承和委托的讨论,但作者并未将这些主题视为特定的模式。 将它们视为比特定设计模式更通用的设计概念是合理的。

委托可以看作是对象之间的关系,其中一个对象将某些方法调用转发给另一个对象(称为其委托)。 委托也可以是一种强大的设计/重用技术。 委托的主要优点是运行时灵活性–可以在运行时轻松更改委托。 但是与继承不同的是,大多数流行的面向对象语言都不直接支持委派,并且它不促进动态多态性。

恰当命名的委托模式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM