On Thu, May 28, 2015 at 9:01 AM, Marko Rauhamaa <ma...@pacujo.net> wrote:
> Anssi Saari <a...@sci.fi>:
>
>> Do you have an example of state pattern using nested classes and
>> python? With a quick look I didn't happen to find one in any language.
>
> Here's an sampling from my mail server:

I think I would be more inclined to use enums. This has the advantages
of not creating a new set of state classes for every connection
instance and that each state is a singleton instance, allowing things
like "if self.state is SMTPConnectionState.IDLE". It could look
something like this:

class SMTPConnectionState(Enum):

    class IDLE:
        @classmethod
        def handle_command(cls, conn, cmd):
            # ...

    class SPF_HELO:
        @classmethod
        def terminate(cls, conn):
            # ...
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to