简单工厂:简单的定义一个工厂接口然后实现一个工厂类,在调用的时候只能实现工厂中的这个方法
缺点是:当有逻辑变更时候,每次都要修改工厂中的这个方法,不共用
方法工厂:将工厂写到方法里,也就是说每个工厂做自己的逻辑,比如说有两个工厂都继承某个接口,接口中只能有一个工厂方法,然后不用的工厂类去实现这个方法,去执行自己的逻辑,在调用时通过不同的工厂类去调用不同的工厂方法。
缺点是:太单一,当处理复杂的工厂逻辑时候很被动
抽象工厂:先创建一个接口,和工厂方法不同的是,我可以在接口中创建多个方法,然后通过不同的工厂去实现这个工厂中的方法,然后可以在每个工厂中写这三个方法的自己的逻辑。