
1.简单工厂模式
优点:方法复用性更好,功能的扩展性更好
前置条件:满足java 主要的三种特征 封装 继承 多态 从而 可以达成更好的扩展性
简单理解: 从一个需求出发通过一定抽取相关代码,适当提取对应的父类,然后子类 通过不断继承父类 重写父类原有的方法达到实现动能 (当前点主要完成其中两大特性:封装 实现了方法抽取 ,继承 实现方法扩展), 此时暂时 没有提到之前说的 多态 ,说起多态 我们需要来谈论一下的它的本质 意义 个人的理解就是 “一件事物的多种实现形态“。 然后回到原题,我们在日常的研发功能无非就是为了了解需求 ,简单工厂模式 解决的就是 根据上述三种特征,创建工厂模式 通过创建不同的实例 ,来完成我们对应的功能。
当前借用 书籍一个例子来说我觉得特别恰当 (实现方式有多种 但是结合这种设计模式结果最佳):
当时我第一想法也觉得很简单,但是我是真的想简单 (在看下面解决方案时最好是 自己先想下自己的解决方案看看是否有差异)。
不说其他的解决方案了 直接说个最优的解决方案
继承实现:
工厂模式实现:
最终实现 效果:
最终感言:道行还需要增加,想问题思维还是太单一了,不知道有没有看官跟我一样