Каков «хороший способ» написать приложение Python GTK +?

В настоящее время я пишу приложение PyGTK, и мне нужен совет, как лучше всего структурировать мое приложение. В основном приложение будет читать спецификацию конкретного файла и представлять ее в графическом интерфейсе для редактирования.

В настоящее время у меня есть parser.py, который обрабатывает все операции ввода-вывода файла низкого уровня и синтаксический анализ файла. Я' m отображать содержимое файла в виде дерева, что означает, что мне нужно использовать древовидное хранилище в качестве типа данных.

Проблема, с которой я столкнулся, заключается в том, что я придумал только два решения этой проблемы. Во-первых, мой парсер мог построить древовидное хранилище и передать его моему классу пользовательского интерфейса. Это требует, чтобы мой синтаксический анализатор зависел от pygtk, и сводил к минимуму возможное повторное использование класса. Во-вторых, в парсере будет храниться ссылка на мой класс ui, что также потенциально ограничит повторное использование моего класса парсера в качестве отдельной библиотеки.

Чтобы сжать мой вопрос в один короткий лайнер: есть ли способ выполнить мою целей более питоническим или объектно-ориентированным способом?

Если просмотр моего кода поможет любому, кто пытается ответить на мой вопрос: https://code.launchpad.net/~blainepace/nbtparser/trunk

Другие питонические предложения приветствуются, это моя первая программа на Python, и я, возможно, застрял в стиле мышления, который больше похож на C ++. Я планирую рефакторинг многих из них.

7
задан sensae 9 September 2010 в 02:18
поделиться