How to resolve the algorithm Delegates step by step in the Raku programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Delegates step by step in the Raku programming language
Table of Contents
Problem Statement
A delegate is a helper object used by another object. The delegator may send the delegate certain messages, and provide a default implementation when there is no delegate or the delegate does not respond to a message. This pattern is heavily used in Cocoa framework on Mac OS X. See also wp:Delegation pattern. Objects responsibilities: Delegator: Delegate: Show how objects are created and used. First, without a delegate, then with a delegate that does not implement "thing", and last with a delegate that implements "thing".
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Delegates step by step in the Raku programming language
Source code in the raku programming language
class Non-Delegate { }
class Delegate {
method thing {
return "delegate implementation"
}
}
class Delegator {
has $.delegate is rw;
method operation {
$.delegate.^can( 'thing' ) ?? $.delegate.thing
!! "default implementation"
}
}
my Delegator $d .= new;
say "empty: "~$d.operation;
$d.delegate = Non-Delegate.new;
say "Non-Delegate: "~$d.operation;
$d.delegate = Delegate.new;
say "Delegate: "~$d.operation;
You may also check:How to resolve the algorithm Matrix multiplication step by step in the MATLAB programming language
You may also check:How to resolve the algorithm Loops/N plus one half step by step in the REXX programming language
You may also check:How to resolve the algorithm Parsing/RPN calculator algorithm step by step in the PARI/GP programming language
You may also check:How to resolve the algorithm Unix/ls step by step in the Gambas programming language
You may also check:How to resolve the algorithm Conway's Game of Life step by step in the V (Vlang) programming language