设计模式(工厂模式之简单工厂)

工厂模式可以分为:①简单工厂模式  ②普通工厂模式  ③静态工厂模式  ④抽象工厂模式

简单工厂模式:就是如何去实例化对象的问题,对于很容易变化的问题,应该考虑用一个单独的类来做这个创造实例的过程,这个单独的类就是工厂

例子:通过简单工厂创建各种图形的实现过程
简单工厂模式创建步骤:
①创建一个接口(例:图形接口)  ②创建实现接口的实体类(例:长方形、正方形、圆形) ③创建一个工厂类(创建各种图形的工厂),工厂类中提供一个根据传入具体类型而获取接口对应实体类的方法。

1.创建一个形状的接口
   
   
  1. public interface Shape {
  2. public void draw();
  3. }

2.实现接口来创建具体实体类

   
   
  1. public class Square implements Shape{
  2. @Override
  3. public void draw() {
  4. System.out.println("我是一个正方形");
  5. }
  6. }
    
    
  1. public class Rectangle implements Shape{
  2. @Override
  3. public void draw() {
  4. System.out.println("我是一个长方形");
  5. }
  6. }
     
     
  1. public class Circular implements Shape{
  2. @Override
  3. public void draw() {
  4. System.out.println("我是一个圆形");
  5. }
  6. }

3.创建工厂类,提供一个方法,根据传入的类型来创建接口对应的实体类
   
   
  1. public class FactoryPattern {
  2. public Shape getShape(String entityName){
  3. if (entityName == null) {
  4. return null;
  5. }
  6. if (entityName.equals("长方形")) {
  7. return new Rectangle();
  8. }else if (entityName.equals("正方形")) {
  9. return new Square();
  10. }else if (entityName.equals("圆形")) {
  11. return new Circular();
  12. }
  13. return null;
  14. }
  15. }

4.测试
   
   
  1. public static void main(String[] args) {
  2. FactoryPattern factoryPattern = new FactoryPattern();
  3. Shape shape = factoryPattern.getShape("长方形");
  4. shape.draw();
  5. Shape shape2 = factoryPattern.getShape("正方形");
  6. shape2.draw();
  7. Shape shape3 = factoryPattern.getShape("圆形");
  8. shape3.draw();
  9. }
输出结果
   
   
  1. 我是一个长方形
  2. 我是一个正方形
  3. 我是一个圆形
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值