gpt4 book ai didi

Python 应用架构

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:53 29 4
gpt4 key购买 nike

我正在尝试创建任务管理系统。 (一个应用程序,有人可以在其中创建任务并设置截止日期并获得通知)。首先,我将创建控制台应用程序,然后使用 Django 创建 Web。

我已经创建了一个数据库。(sqlite)

我不知道我的实体将如何交流。

第一种方法:

class User():
def __init__(self):
self.UserID
self.UserName
self.PassHash
# salt, Full name and etc.


class Task():
def __init__(self):
self.TaskID
self.UserID
self.Name
#smth subtasks, date and etc.


class UserService():
def __init__(UserID, TaskID):
User = db.GetById(UserID)
TasksList = db.GetUserTasks(UserID)

def addTask():
..

def removeTask():
..

def ChangePassword():
..

def ChangeUserName():
..

最后一个类将包含任务类和用户类之间的所有业务逻辑和通信。第一个 - 没有任何方法的纯类。

另一种方法:

class User():
def __init__(self):
self.UserID #
self.UserName
self.PassHash # 3 fields will be set up by db. The last one - on #runtime
self.TasksList = None

def ChangePassword():
..

def GetTasks():
TaskList = db.GetUserTasks(UserID)

class Task()
def __init__(self):
self.TaskID
self.UserID
self.Name
self.SubTask
#smth else

def AddSubTask():
..

提前致谢

最佳答案

类应该定义您可以拥有一个或多个实例的对象。例如用户或任务。 我不认为对象编程中的类应该包含原始功能,因为您只是使用函数...

考虑到这一点,我会选择第一种方法

Classes should be classes and functions should be functions - Me

关于Python 应用架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49652785/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com