工厂方法模式

#工厂方法模式
* 对工厂模式进行改进,增强了代码的扩展性
#设计
* 一个 抽象产品(一个接口)Foods

interface Foods {
			    public void eat();
			}
* 该 抽象产品的工厂(FoosFactory)用于生产Foods
 interface FoodFactory {
		    public Foods getFoosFac();
		}
* 定义 需要的产品 继承Foods,并重写其方法
class Rices implements Foods {
	    @Override
	    public void eat() {
	        System.out.println("i 吃米饭");
	    }
	}
* 定义该产品工厂 implements 抽象产品工厂,用于生产具体的 产品
class RiceFactory implements FoodFactory {
		    @Override
		    public Foods getFoosFac() {
		        return new Rices();
		    }
		}

#也可以定义一个 公共的类,用于 生产产品

class Business {
		    public static Foods getInstances(FoodFactory foodFactory) {
		        return foodFactory.getFoosFac();
		    }
		}

每一个工厂名是不会轻易改变的,是趋于稳定的。

#uml类图的画法
* 依赖关系: 虚线+箭头
* 继承关系: 虚线+三角形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值