【发布时间】:2018-09-14 02:53:31
【问题描述】:
我正在尝试创建任务管理系统。 (某人可以创建任务并设置截止日期并获取通知的应用程序)。首先,我将创建控制台应用程序,然后使用 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():
..
提前致谢
【问题讨论】:
标签: python oop architecture