Tag: design patterns

动态绑定还是开关/案例?

像这样的场景: 我有不同的对象执行与各自func()实现类似的操作。 func_manager()有两种解决方案可以根据不同的对象调用func() 解决方案1 :使用c ++中指定的虚函数字符。 func_manager以不同的方式对不同的对象点传入进行工作。 class Object{ virtual void func() = 0; } class Object_A : public Object{ void func() {}; } class Object_B : public Object{ void func() {}; } void func_manager(Object* a) { a->func(); } 解决方案2 :使用普通开关/shell。 func_manager的工作原理与不同类型的传入不同 typedef enum _type_t { TYPE_A, TYPE_B }type_t; void func_by_a() { // do as […]