在工作中经常会用到的一种开发模式,开发的时候也接触过,系统的写一下实现。
在我的理解,简单工厂的模式就是先抽象出具有共性的类需要的方法,同一特性的类实现接口的方法,根据他们之间的差异做不同的处理。创建一个工厂类,根据不同的选择创建不同的对象。工厂类并不关心怎么去实现,只需要知道传入工厂类的参数。如果需要新增一个具有相同特性的类,只需要增加一个具体的类和修改工厂类,不影响现有的代码,后期维护也容易,增加了代码的扩展性。通过简单工厂,实现了客户端和实现类的解耦。不过工厂类也有缺点,当类不断地增多的时候,可能会要求工厂类根据不同条件去创建不同的实例,由于工厂类集中了所有实例的创建逻辑,当越来越多的不同的类需要创建的时候工厂类就不太适用。
下面是自己写的一个小例子实现简单的工厂模式
1.县创建一个接口
2.具体的实现类(男人和女人)
3.创建工厂类,根据不同的条件创建不同的实例
4.测试
输出结果