In the current Python implementation, there are so many classes related to different genres of SPMM strategy, which means if I try to add a new C++ strategy, I will encounter a problem that I need to check a lot of class implementation and modify it to ensure that it can fit with the new strategy. Maybe we can use some structural Design Patterns to fix this problem.