前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图图谈设计模式——工厂方法设计模式_java

图图谈设计模式——工厂方法设计模式_java

作者头像
一头小山猪
发布2020-04-10 10:52:32
2820
发布2020-04-10 10:52:32
举报
文章被收录于专栏:微光点亮星辰微光点亮星辰

图图接下来将介绍第二种设计模式,工厂方法设计模式。

工厂设计模式一共有三种,静态工厂和工厂方法还有抽象工厂。

如果你仔细看了的话昨天的uml图和文本是今天的uml 和文本,今天的应该是昨天的静态工厂。也就是说今天的才是静态方法,而昨天的是工厂方法!

(图图太粗心了。望读者见谅。标题搞反了)

(很多时候会结合单例模式,new出来的对象是单例的)

简单的UML图(有瑕疵)如下

代码语言:javascript
复制
package org.huey.partten.factory.staticfactory;
/**
 * 抽象实体
 * 静态工厂 也叫简单工厂
 * @author huey
 *
 */
public interface Computer{
     /**
      * 跑起来了
      */
 public void run();
}
package org.huey.partten.factory.staticfactory;
/**
 * 产品类
 * @author huey
 *
 */
public class Dell implements Computer{
     @Override
     public void run() {
          System.out.println(this.getClass().getSimpleName()+"跑起来了");
     }
}
package org.huey.partten.factory.staticfactory;
/**
 * 产品类
 * @author huey
 *
 */
public class Lenovo implements Computer {
     @Override
     public void run() {
          System.out.println(this.getClass().getSimpleName() + "跑起来了");
     }
}
package org.huey.partten.factory.staticfactory;
/**
 * 工厂类
 *
 * @author huey
 *
 */
public class ComputerFactory {
     public Computer createLenovo() {
          return new Lenovo();
     }
     public Computer createDell() {
          return new Dell();
     }
}
package org.huey.partten.factory.staticfactory;
/**
 * 测试方法
 *
 * @author huey
 *
 */
public class StaticeFactoryTest {
     public static void main(String[] args) {
          //获取工厂
          ComputerFactory computerFactory = new ComputerFactory();
          //创建对象,并执行方法
          Computer dell = computerFactory.createDell();
          dell.run();
          Computer lenovo = computerFactory.createLenovo();
          lenovo.run();
     }
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微光点亮星辰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档