Task system development task system mode
RT, the company needs to add a task system on the original website, that is, when users meet certain requirements, they can receive certain rewards. now I have two ideas:
1. modify other part of the code, add the code to the user's task-related operations, and record the user's operations.
2. do not modify the original code. query the database as much as possible to determine whether the user meets the requirements for a specific task.
Which of the two methods is better? Why, ask experienced predecessors who have done this ..
Reply to discussion (solution)
Modify existing code and database storage task completion status as little as possible
Encapsulate the task system and leave an interface for querying the task completion status (of course, there are also tasks to be connected, and so on ).
Call this interface in the key operation location to query the task completion status of the user and process it in the task system (you can pass the current location as a parameter to the task system, and the task system sends it to the task system based on the location (page) different tasks and different task completions)
Otherwise, isn't the code getting messy? I suggest using a similar method to add new systems to the existing system. The existing system does not modify the code and adds an interface to correspond to the new system.
It is not clear that the user meets certain requirements.