这个改动主要是使用工厂模式替代了简单工厂模式,这样做的好处是如果以后我们要扩充其他运算时,就不用总是去修改工厂类, 这是可以采取工厂模式,主要是将原来简单工厂类的逻辑判断分离出来,将它作为一个借口,与此同时,我们新建运算符工厂类,继承这些借口, 重写里面的getResult()方法,获取对应的运算对象. 这样做的好处在于,满足了“少修改,多扩充”的原则.缺点是:要将逻辑代码写在客户端,这样很难维护,以后会做改进. 代码如下: using System; using System.Collecti
Implement a basic calculator to evaluate a simple expression string. The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty spaces . You may assume that the given expression is