zoukankan      html  css  js  c++  java
  • Java设计模式之工厂设计模式

    概述

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
    使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
    设计模式可以分为三大类,分别是创建型、结构型和行为型。

    创建型

    工厂设计模式

    工厂设计模式是Java中非常常见的设计模式之一。它提供了一种创建对象的最佳方式。在工厂设计模式中,我们不需要向客户端提供创建的逻辑,只需通过使用一个共同的接口来指向新创建的对象
    使用场景
    定义一个创建对象的接口,让它的子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。例如购买一件商品,不需要了解它是怎样被制作出来的,只需要通过超市进行购买。
    优点
    创建对象只需要直到名称;扩展性高,想增加产品仅需添加一个工厂类;屏蔽性好,调用者无需直到创建过程
    缺点
    添加产品需要添加工厂类,若数量过多则增加了系统的复杂度。
    代码如下

    //图形接口
    public interface Shape {
    	void draw();	
    }
    //圆形的实现类
    public class Circle implements Shape {
        @Override
    	public void draw() {
    		System.out.println("我是圆形");
    	}
    }
    //正方形实现类
    public class Square implements Shape {
    	@Override
    	public void draw() {
    		System.out.println("我是正方形");
    	}
    }
    //工厂方法  提供getShape  根据调用者传入的名字进行相应的创建
    public class ShapeFactory {
    	
    	public static Shape getShape(String shape) {
    		
    		if("circle".equals(shape)) 
    			return new Circle();
    		
    		if("square".equals(shape)) 
    			return new Square();
    		
    		
    		return null;
    	}
    	
    }
    //主测试类  输出圆形
    public class JavaDemo {
    	
    	public static void main(String[] args) {
    		
    		Shape shape = ShapeFactory.getShape("circle");
    		shape.draw();
    		
    	}
    	
    }
    
  • 相关阅读:
    MiscellaneosDatabase: 常用数据库资源。包含(Northwind+cn,pubs)
    创建和使用 XML Web 服务
    A.9 ASP.NET 中的验证控件(Validator)
    A.6什么是“asp.net”?
    A.12C# ADO.NET 数据库访问
    LINQ To SQL 的案例
    502 Bad Gateway
    常用 Dos 命令+杂项常用的命令符+常用的公式
    Linux 的 Clock skew detected. Your build may be incomplete 解决方法
    window下Linux 的安装和简单使用 & WMware Workstation 9.0中Linux(Red Hat) 的安装
  • 原文地址:https://www.cnblogs.com/helloDuo/p/10303606.html
Copyright © 2011-2022 走看看