Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > [Python] Factory


Автор: Bl4de 22.3.2012, 01:08
В проекте есть класс AbstractProtocol.
У данного класса реализован статический метод, который на основе входного параметра возвращает экземпляр класса, наследованного от AbstractProtocol.
Код

@staticmethod
   def protocol_from_project(projectFilePath):
        
        f = parse( projectFilePath )
        project = f.getElementsByTagName('Project')
        
        retProto = None
        projectType = project[0].getAttribute('id')
        if projectType == 'local':
            import LocalProtocol
            retProto = LocalProtocol.LocalProtocol.create_with_project_file(projectType)
            
        elif projectType == 'ftps':
            print 'ftps'
        elif projectType == 'ftp':
            print 'ftp'
        elif projectType == 'ssh':
            print 'ssh'        
        else:
            print error
        return retProto

Собственно, интересны способы избавления от подобного ###кода.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)