最近看了两本设计模式的书,一本《Head First 设计模式》和一本《大话设计模式》,在此记下一些心得体会。
简单工程模式:以一个简单的加减乘除运算计算器为原型,通过抽取包含作为运算的两个数为属性字段的父类讲各种运算归纳为计算类的一个体系,然后根据运算符来在运行时生成不同的计算类。实例化的过程通过在工厂类中进行条件分支判断。
优点:客户端看不到实例化运算类的过程,每次计算仅需要传入运算符和给要计算的数赋值即可;新增运算类型时,仅仅需要新增一个运算类的子类
缺点:新增运算类型时,需要修改简单工厂静态方法的条件分支。