设计模式-简单工厂

学习笔记.

假设要实现洗衣机的洗衣服功能.

1.建立一个IWash的接口,定义一个洗衣服的方法

2.建立滚筒洗衣机和波轮洗衣机分别实现IWash的接口

3.建立一个工厂类,提供一个方法根据洗衣机的类型(波轮,滚筒)选择由哪个洗衣机洗衣服

具体java实现代码如下:

IWasher

package com.liu.pattern1;

public interface IWasher {
	public void wash();
}


BLWasher

package com.liu.pattern1;

public class BLWasher implements IWasher {

	@Override
	public void wash() {

		System.out.println("波轮洗衣机洗衣服了");
	}



}


GTWasher

package com.liu.pattern1;

public class GTWasher implements IWasher {

	@Override
	public void wash() {

		System.out.println("滚筒洗衣机洗衣服了");
	}

}


 

SimpleWasherFactory

package com.liu.pattern1;

//简单工厂
public class SimpleWasherFactory {
	public static IWasher createWahser(String opName){
		if("滚筒".equals(opName)){
			return new GTWasher();
		}else if("波轮".equals(opName)){
			return new BLWasher();
		}else{
			return null;
		}
	}
	
	public static void main(String[] args){
		String opName = "滚筒";
		IWasher washer = SimpleWasherFactory.createWahser(opName);
		washer.wash();
	}
}


 

C#代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace com.liu.pattern1
{
    public interface IWasher {
        void Wash();
    }

    public class BLWasher : IWasher {
        public void Wash() {
            System.Console.WriteLine("波轮洗衣机洗衣服了");
        }
    }

    public class GTWasher : IWasher {
        public void Wash()
        {
            System.Console.WriteLine("滚筒洗衣机洗衣服了");
        }    
    }

    public class SimpleWasherFactory
    {
        public static IWasher CreateWasher(String opName) {
            switch (opName)
            {
                case "滚筒": return new GTWasher();
                case "波轮": return new BLWasher();
                default: return null;
            }
        }

        static void Main(string[] args)
        {
            String opName = "波轮";
            IWasher washer = SimpleWasherFactory.CreateWasher(opName);
            washer.Wash();
            System.Console.ReadKey();
        }
    }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值