我在寫一個時間表應用程序,供員工使用並由主管批准/拒絕。時間表具有不同的權限,只有具有特定角色的人才可以執行某些操作(例如,只有主管可以批准時間表,並且只有屬於主管員工列表中的員工)。PHP - 課堂設計模式Hellp
我想弄清楚如何構建我的業務對象(模型)列表。在我可以調用GetTimesheet或SaveTimesheet或ApproveTimesheet之類的方法之前,我需要做各種驗證。請參閱下面的僞代碼爲我的應用程序應該如何工作的理解:
GetTimesheetByUserIdAndMonth:
-Validate parameters like UserId, Month-Year value
-Check Permissions:
- If Logged In User is A Supervisor, then see if Timesheet belongs to either this user or to a user under Supervisor's list of Employees
- Else, check if Timesheet belongs to logged in User
SaveTimesheet
-Validate parameters like UserId, Month-Year value
-Check Permissions (same as above)
-Check if user has write ability for timesheet (for example if user had already submitted timesheet before then he can't re-save or re-submit)
SubmitTimesheet
-See if user has a supervisor assigned
ApproveTimesheet, RejectTimesheet
-Logged in User must be a Supervisor, otherwise throw an error
我想我需要的是誰登錄的人,一個用戶類來表示人誰是一個我的帳戶類時間表屬於,Timesheet類,也許某種驗證類。
有人能告訴我如何最好地構建這個代碼,以及我應該有什麼樣的類和驗證方法?我已經有了這個代碼在100%程序代碼中工作......這是非常難以閱讀和維護。我不是在尋找完整的實施細節,只是一個整體的課堂架構/結構。請給我一些想法,並提供一些僞代碼如何完成上述任務。如有必要,我可以提供更多細節。
在此先感謝。