OOP vs Functional - 测量同一事物的实现之间的性能

时间:2017-01-13 16:15:43

标签: python oop functional-programming

目前我正在开发这个Firebird模块来帮助我处理一些数据库文件,我对OOP与Functional之间存在疑问。代码:

功能:

import kinterbasedb


def create_cursor(dsn, user, password):
  return connect(dsn=dsn, user=user, password=password).cursor()

def execute(database_cursor, query, fetch):
  database_cursor.execute(query)
  if fetch == "*":
    return database_cursor.fetchall()
  return database_cursor.fetchone()

然后:

from firebird import create_cursor, execute

database_cursor = create_cursor(dsn="some/database", user="someuser", password="somepassword")
result = execute(database_cursor, fetch="*")

Vs的:

class Firebird(object):

  cursor = None

  def __init__(self, dsn, user, password):
    self.dsn = dsn
    self.user = user
    self.password = password

  def create_cursor(self):
    connection = kinterbasedb.connect(dsn=self.dsn,
                                      user=self.user,
                                      password=self.password)
    self.cursor = connection.cursor()

  def execute(self, query, fetch):
    self.cursor.execute(query)
    if fetch == "*":
      return self.cursor.fetchall()
    return self.cursor.fetchone()

然后

from firebird import Firebird


database = Firebird(dsn="some/database", user="someuser", password="somepassword")
database.create_cursor()
result_from_query = database.execute(query="SOME QUERY", fetch="*")

我如何在这两种实现之间做出选择?我更像是一个有实力的人,我喜欢使用这个范例,但我担心影响表现。

感谢。

0 个答案:

没有答案
相关问题