Android设计模式之Abstract Factory


abstract factory是对象的创建型模式。这种设计模式在Android中运用相当广泛。现仅仅以Android平台JVM的DatagramSocket的实现为例

来介绍之。
DatagramSocket是一个实现了UDP socket的类。
一. 相关代码:
  1. SocketOptions.java:
  public interface SocketOptions { ...}
 
  2. DatagramSocketImpl.java:
  public abstract class DatagramSocketImpl implements SocketOptions { ...}
 
  3. SocketImpl.java:
  public abstract class SocketImpl implements SocketOptions { ...}
 
  4. DatagramSocketImplFactory.java:
  public interface DatagramSocketImplFactory {
      DatagramSocketImpl createDatagramSocketImpl();
  }
 
  5. SocketImplFactory.java
  public interface SocketImplFactory {
    SocketImpl createSocketImpl();
  }
 
  6. DatagramSocket.java
 
二.简要说明:从名字的命名就可以看出来,这是典型的abstract factory模式. 这里,DatagramSocket就是client. 更加详细的代码实现

,请读者自己去看Android源码。

 
三.问题:Android 源码中,还有一个类SocketImplProvider, 这个类的实现用的是什么模式呢?欢迎感兴趣的朋友跟贴讨论。

你可能感兴趣的:(设计模式,jvm,android,socket,Class,interface)