Implementation
There are many ways to implement Chain of Responsibility in Python, but my favorite implementation is the one by Vespe Savikko [
The Event class describes an event. We'll keep it simple, so in our case an event has only name:
class Event:
def __init__(self, name):
self.name = name
def __str__(self):
return self.name The Widget class is the core class of the application. The parent aggregation shown in the UML diagram indicates that each widget can have a reference to a parent object, which by convention, we assume is a Widget instance. Note, however, that according to the rules of inheritance, an instance of any of the subclasses of Widget (for example, an instance of MsgText) is also an instance...