Class factory in Python

后端 未结 7 2362
半阙折子戏
半阙折子戏 2020-11-28 18:37

I\'m new to Python and need some advice implementing the scenario below.

I have two classes for managing domains at two different registrars. Both have the same inte

7条回答
  •  时光说笑
    2020-11-28 19:08

    how about something like

    class Domain(object):
      registrars = []
    
      @classmethod
      def add_registrar( cls, reg ):
        registrars.append( reg )
    
      def __init__( self, domain ):
        self.domain = domain
        for reg in self.__class__.registrars:
           if reg.is_registrar_for( domain ):
              self.registrar = reg  
      def lookup( self ):
         return self.registrar.lookup()    
    
    Domain.add_registrar( RegistrarA )
    Domain.add_registrar( RegistrarB )
    
    com = Domain('test.com')
    com.lookup()
    

提交回复
热议问题