First page Back Continue Last page Overview Text

Notes:


(3 secs) With your plugin method set up like that, you can allow the user to extend the class with as many plugins as they want.

If all three plugins define the all class method and have it call super, when the user calls Person.all, it will call the version in Plugin3, then Plugin2, and finally Plugin1.

This design approach makes it possible for extensions to have complete control to override any part of the class's behavior, while making it easy for the user to pick any combination of extensions for their own use.

So that's the first technique. Any questions on it?