工厂模式是一个在android中被大量运用的设计模式。它遵循的原则是针对接口编程,而不要针对实现编程。问题的情境是,当你需要根据不同的条件创建不同的类,然而这些类又有一些共同的方法调用。这种情况很常见。这时候我们可以将创建一个具体的类放到另一个专门负责创建的工厂类中。分离创建方法和其它代码的好处是不言而喻的。
一般的实现办法有两种,一种是工厂方法。在超类中创建一个抽象方法,比如说createXXX();这个方法返回一个抽象类。然后子类实现这个方法来返回不同的类。把共同的方法放在超类中。这样就能根据多态性实现不同方法的调用。
还有一种就是抽象工厂。之前我们提到把具体的创建类的代码放到一个专门负责创建的工厂中。我们可以创建一个工厂抽象类,然后让不同的工厂子类继承这个抽象类。要创建某一个特定的类的时候,传递进去一个工厂子类。再一次使用多态性,实现调用不同的创建方法来达到目的。。。。