Site Tools


c_delegation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
c_delegation [2013/02/25 02:56]
konovalov
c_delegation [2013/02/25 02:57] (current)
konovalov
Line 1: Line 1:
  ​.стр 36 GoF  ​.стр 36 GoF
  
-{{:​01-07.gif?​nolink&200|}}+{{:​01-07.gif?​nolink|}}
  
 С помощью делегирования композицию можно сделать столь же мощным инструментом повторного использования,​ сколь и наследование. При делегировании в процесс обработки запроса вовлечено два объекта:​ получатель поручает выполнение операций другому объекту — уполномоченному. Примерно так же подкласс делегирует ответственность своему родительскому классу. Но унаследованная операция всегда может обратиться к объекту-получателю через переменную-член (в C++) или переменную self (в Smalltalk). Чтобы достичь того же эффекта для делегирования,​ получатель передает указатель на самого себя соответствующему объекту,​ чтобы при выполнении делегированной операции последний мог обратиться к непосредственному адресату запроса. С помощью делегирования композицию можно сделать столь же мощным инструментом повторного использования,​ сколь и наследование. При делегировании в процесс обработки запроса вовлечено два объекта:​ получатель поручает выполнение операций другому объекту — уполномоченному. Примерно так же подкласс делегирует ответственность своему родительскому классу. Но унаследованная операция всегда может обратиться к объекту-получателю через переменную-член (в C++) или переменную self (в Smalltalk). Чтобы достичь того же эффекта для делегирования,​ получатель передает указатель на самого себя соответствующему объекту,​ чтобы при выполнении делегированной операции последний мог обратиться к непосредственному адресату запроса.
c_delegation.txt · Last modified: 2013/02/25 02:57 by konovalov

Page Tools