分享

2.2.3 简单工厂示例代码

 静听沙漏 2012-02-29

2.2.3 简单工厂示例代码

(1)Api定义的示例代码如下:

  1. /**
  2. * 接口的定义,该接口可以通过简单工厂来创建
  3. */
  4. public interface Api {
  5. /**
  6. * 示意,具体功能方法的定义
  7. * @param s 示意,需要的参数
  8. */
  9. public void operation(String s);
  10. }

(2)定义了接口,接下来实现它。ImplA的示例代码如下:

  1. /**
  2. * 接口的具体实现对象A
  3. */
  4. public class ImplA implements Api{
  5. public void operation(String s) {
  6. //实现功能的代码,示意一下
  7. System.out.println("ImplA s=="+s);
  8. }
  9. }

ImplB的示意实现和ImplA基本一样。示例代码如下:

  1. /**
  2. * 接口的具体实现对象B
  3. */
  4. public class ImplB implements Api{
  5. public void operation(String s) {
  6. //实现功能的代码,示意一下
  7. System.out.println("ImplB s=="+s);
  8. }
  9. }

(3)下面来看看简单工厂的实现。示例代码如下:

  1. /**
  2. * 工厂类,用来创建Api对象
  3. */
  4. public class Factory {
  5. /**
  6. * 具体创建Api对象的方法
  7. * @param condition 示意,从外部传入的选择条件
  8. * @return 创建好的Api对象
  9. */
  10. public static Api createApi(int condition){
  11. //应该根据某些条件去选择究竟创建哪一个具体的实现对象,
  12. //这些条件可以从外部传入,也可以从其他途径来获取。
  13. //如果只有一个实现,可以省略条件,因为没有选择的必要。
  14. //示意使用条件
  15. Api api = null;
  16. if(condition == 1){
  17. api = new ImplA();
  18. }else if(condition == 2){
  19. api = new ImplB();
  20. }
  21. return api;
  22. }
  23. }

(4)再来看看客户端的示意,示例代码如下:

  1. /**
  2. * 客户端,使用Api接口
  3. */
  4. public class Client {
  5. public static void main(String[] args) {
  6. //通过简单工厂来获取接口对象
  7. Api api = Factory.createApi(1);
  8. api.operation("正在使用简单工厂");
  9. }
  10. }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多