面向可复用性和可维护性的设计模式

创建型模式
工厂方法模式

interface Vechical
{
	void run();
}

public class Car implements Vechical
{
	@Override
	void run(){...}
}

public class Plane implements Vechical
{
	@Override
	void run(){...}
}

public VechicalFactory()
{
	public Vechical CreateVechical(String type)
	{
		if (type.equals("Car"))
		{
			return new Car();
		}
		else if (type.equals("Plane"))
		{
			return new Plane();
		}
	}
}

结构型模式
适配器模式

LegacyRectangle类的display方法需要一个点坐标与长和宽作为参数

class LegacyRectangle
{
	void display(int x1, int y1, int w, int h)	//需要一个点的坐标与长方形的宽和高
	{...}
}

但是客户端只能提供对角的两点的坐标

class Client
{
	public display()
	{
		new LegacyRectangle,display(int x1, int y1, int x2, int y2);
	}
}

因此可使用适应器模式来设计

interface Shape
{
	void display(int x1, int y1, int x2, int y2);
}

class Rectangle implements Shape
{
	void display(int x1, int y1, int x2, int y2)
	{
		new Rectangle().display(x1,y1,x2-x1,y2-y1);
	}
}

class LegacyRectangle
{
	void display(int x1, int y1, int w, int h)
	{...}
}

class Client
{
	Shape shape = new Rectangle();
	public display()
	{
		shape.display(x1,y1,x2,y2);
	}
}

装饰器模式
行为型模式
策略模式
模板模式
迭代器模式
访问者模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值