代码无措就是优?-简单的工厂模式
面向对象编程的理解
客户提出一个需求的时候,他肯定是没有想好的,所以你在实现的时候,就要考虑到各种需求的变化。用活字印刷术来理解,就是:容易修改、可以复用性。
一般来讲,要考虑哪些修改呢?比如不同的平台、不同的输入形式。
对于计算器这个功能来讲,使用封装,让界面和业务逻辑分离。使用继承,让其可扩展、易修改。
你在写逻辑的时候,如果是比较大的ifelse,就要考虑用继承了。这里是把各种运算做了一定抽象。
当一个父类被很多子类继承的时候,生成这个类对象,就变成了一个比较麻烦的事情,这个时候需要专门一个类来处理
虽然继承很复杂,但是通过工厂类和统一接口,做到可维护性好。
组合使用了实心的形状,聚合采用了空心的形状。