Дизайн приложения на Python без ORM - PullRequest
0 голосов
/ 28 февраля 2012

Я новичок в Python.

Мне нужно разработать приложение с использованием Python, этой базы данных с интенсивным использованием приложений и сложных запросов, чтобы нельзя было использовать ORM.

Мне нужно выполнить модульное тестирование, и я вроде как не знаю, как это сделать в приложениях такого типа, которые интенсивно используют базу данных.

Я прототипировал некоторый код. В этом коде я отделяю бизнес-логику от доступа к базе данных, но не уверен, правильно ли это делается.

import psycopg2

class Account:
    def __init__(self) :
        self.conn = psycopg2.connect("dbname=test user=postgres")

    ''' Database related methods '''

    def __createAccount(self, username, password):
        ''' SQL to create account '''
        cur = self.conn.cursor()
        cur.execute("INSERT INTO account (username, password) VALUES (%s, %s);", (username, password))
        ...
        return something

    ''' Bussiness Logic methods '''

    def createAccount(self, username, password):
        ''' Some bussiness logic... '''
        ...
        self.__createAccount(username, password)
        ...
        return something


class Event:
    def __init__(self) :
        pass

    def createEvent(self):
        None 

Мой вопрос ... есть ли лучший способ сделать это? Какие документы я должен прочитать, чтобы получить больше знаний о разделении слоев?

Танки,

...