学习以堆栈模式编写-计算器 堆栈特点:先进后出, 如下: #!/opt/python3/bin/python3 # Author: yong import re def is_symbol(element): """进行判断,是否为数字,如果匹配是运算符,返回True,否则返回false""" res = False symbol=['+','-','*','/','(',')'] if element in symbol: res=True r…
这个改动主要是使用工厂模式替代了简单工厂模式,这样做的好处是如果以后我们要扩充其他运算时,就不用总是去修改工厂类, 这是可以采取工厂模式,主要是将原来简单工厂类的逻辑判断分离出来,将它作为一个借口,与此同时,我们新建运算符工厂类,继承这些借口, 重写里面的getResult()方法,获取对应的运算对象. 这样做的好处在于,满足了“少修改,多扩充”的原则.缺点是:要将逻辑代码写在客户端,这样很难维护,以后会做改进. 代码如下: using System; using System.Collecti…