1.函数指针+工厂模式+观察者模式
工厂作为一个单例容器(map),通过函数指针,可以将函数注册命令到容器中,而观察者模式类似于spring中的AOP,可以实现后期额外功能。
2.shared_ptr
对于自己写的类需要保存在容器中,最好通过智能指针shared_ptr<类名>的方式(其实也不一定)
3.make_shared
比起直接new,make_shared效率更高更节省空间