手机开发人员通常使用 Generic Connection Framework 在 Mobile Information Device Profile (MIDP) 中创建和维护顺利的连接。
手机
开发人员通常使用 Generic Connection Framework 在 Mobile Information Device Profile (MIDP) 中创建和维护顺利的连接。好的架构师都知道该框架背后真正的动力是不可缺少的工厂
设计模式。工厂设计模式是面向对象编程所必需的,它构成了应用
程序开发人员使用的大多数强大框架的基础 —— 包括 MIDP。在本月的
架构性声明 专栏中,我将介绍工厂模式的三种变体,然后展示如何在 MIDP 2.0 通用连接框架中工厂支持连接处理。
工厂模式 工厂设计模式是面向对象编程中最常用的设计模式之一。它又被称为
创建性模式,因为它被用来创建其他类。在应用
程序预见不到自己要创建的对象类型时,就会使用工厂解决方案。在这些情况下,可以使用工厂模式作为创建对象的基础,不需要确切地了解将要创建哪些对象。
工厂 实际上是一组模式的名称,这组模式的目的是创建类。每个变体都指定一个不同的创建方法。这些模式变体是:
- 静态工厂(Static Factory)
- 工厂方法(Factory Method)
- 抽象工厂(Abstract Factory)
首先,我先一般性地查看一下工厂模式解决常见
应用程序设计问题的方式。然后将演示工厂模式如何开始对 MIDP 2.0 中大量连接类型的连接进行处理。
基于工厂的解决方案 不管使用哪种变体,所有的工厂模式都是通过将应用程序从将要初始化的类中隔离出来进行启动,实现方法是插入一个 factory 类来做实际的创建工作。图 1是工厂模式的结构图。可以看到,Client 是需要创建新实例的应用程序或类,Product 是需要创建的类;Factory 是实际创建产品的类。
图 1. 工厂设计模式的结构 图 2是工厂模式使用方式的概述,其中的工厂可以创建两种产品。
图 2. 静态工厂模式的实现 客户机使用工厂类中的不同方法来创建 ProductA 和 ProductB 的实例。该模式的优点在于,只要工厂接口可用,客户机就不需要考虑如何创建对象。例如,客户机只需要调用以下代码,就可以创建 ProductA 类的实例。
ProductA p = Factory.createA(); |