" ", " ".
, , , .
- . , . , Control From Top Down to Bottom Up - , , ...
.
, - , .
. @Loc IMO, , , , , (, , ), . @Loc, " " " ", - , , ; ( ) . " , ".
, . , . , , I.e. "" , , , - , , .
, . . @Loc " ", , , , " ".
, . . , , . . Iterator Visitor , , , .
. - , .
, , , . , (int items) ( , ), , ; . factory, , ; , , .
Not that anyone here has done this, but I find it especially interesting if someone suggests that it is normal to ignore or ignore a certain motivation for any established design template (especially GoF). If you need to change the GoF design template, you are using the wrong one. Just say
PS if you absolutely need to, why don't you use a template solution instead, and not intentionally change the specific interface design;