I'm a university student studying software design with Domain Drive Design. We are applying what we have learned for the aggregate patterns in an open-source project. I chose this project and analyze its domain design model. This is the first aggregate pattern that I applied.
Change?
In the immunity.py file, there was a class variant that managed its own methods and can add a new variant to the sim. But the rest of the methods are lack organization of their own class by their usabilities. To make them consistent and has the advantage of the aggregate pattern, I added class immunity as the root class, and also added some new dependency classes(class nab, class waning), and arranged the functions related to the classes.
How?
In the immunity.py file, I create an aggregate root class called immunity. Then the add the class nab that includes methods of update peak nab, the vaccine efficacy that bases on vaccine parameter and nabs, and the nab to efficacy function. The init_immunity and check_immunity were left out just under the root class since these two are the fundamental method for the immunity.py. I also added a class waning and arranged the methods that require for computing the waning like nab_growth_decay, nab_decay, and exp_decay.
Why?
I'm a university student studying software design with Domain Drive Design. We are applying what we have learned for the aggregate patterns in an open-source project. I chose this project and analyze its domain design model. This is the first aggregate pattern that I applied.
Change?
In the immunity.py file, there was a class variant that managed its own methods and can add a new variant to the sim. But the rest of the methods are lack organization of their own class by their usabilities. To make them consistent and has the advantage of the aggregate pattern, I added class immunity as the root class, and also added some new dependency classes(class nab, class waning), and arranged the functions related to the classes.
How?
In the immunity.py file, I create an aggregate root class called immunity. Then the add the class nab that includes methods of update peak nab, the vaccine efficacy that bases on vaccine parameter and nabs, and the nab to efficacy function. The init_immunity and check_immunity were left out just under the root class since these two are the fundamental method for the immunity.py. I also added a class waning and arranged the methods that require for computing the waning like nab_growth_decay, nab_decay, and exp_decay.