Although the immunity.py did have a built-in class to manage functions, the number of functions being called in other places without the necessary permissions provided me with the reasoning to apply aggregate patterns more thoroughly in this class.
What does it looks like?
class nab (stands for Neutralizing antibody methods) contains the functions that indicate the difference in a simulation once an individual’s immunity has been boosted with a NAb.
class vaccine_efficiency hosts the functions responsible for returning the vaccine efficiency based on parameters being fed in and the NAb being selected during the simulation run.
class immune_methods contain the initialization and immunity checking methods.
class slope_function contains the exponential decay function as well as two miscellaneous functions that calculate slopes for the simulation.
Why is this a good idea?
This pull request is an attempt for me to practice applying aggregate design patterns to established and reputed code libraries such as covasim. I'm a final-year computer science student so please highlight and correct the rookie mistakes I would have made. I hope this commit helps in moving this project further. :)
What my code does?
Although the immunity.py did have a built-in class to manage functions, the number of functions being called in other places without the necessary permissions provided me with the reasoning to apply aggregate patterns more thoroughly in this class.
What does it looks like?
Why is this a good idea? This pull request is an attempt for me to practice applying aggregate design patterns to established and reputed code libraries such as covasim. I'm a final-year computer science student so please highlight and correct the rookie mistakes I would have made. I hope this commit helps in moving this project further. :)