首页 > 学院 > 开发设计 > 正文

设计模式之简单工厂类

2019-11-06 06:06:35
字体:
来源:转载
供稿:网友

         简单工厂类是常用的设计模式,大家也不陌生,简单讲解一下,我认为的好处,1.松耦合 2.可以扩展 3.可复用,具体解释按代码解释

设计模式图:

工厂类SportFactory,抽象类Sports,实现类Football、Basketball

1.松耦合 体现在Football、Basketball每个对象都是独立管理自己内部,需要的时候,通过工厂类,而不是直接耦合Football、Basketball任何一个类

2.扩展性 体现在如果要打排球、只要添加一个类继承Sports实现playSports这个方法,外部使用上还是工厂生成类,执行playSport方法,具体实现,底层设计去实现,使用方无需关心。

3.可复用性,Sports这个类的方法可以一直复用,使用端不需要调basketBall的playSports方法。

具体各个类代码如下:

Sport类

public abstract class Sports {	//运动	abstract void playSports();}basketball 类
public class Basketball extends Sports{	@Override	void playSports() {		// TODO Auto-generated method stub		System.out.PRintln("打篮球");	}}football类

public class Football extends Sports{	@Override	void playSports() {		// TODO Auto-generated method stub		System.out.println("踢足球");	}	}SportsFactory工厂类

public class SportsFactory {	Sports sports = null;	public Sports CreateSports(String type) {		switch (type) {		case "Football":			sports = new Football();			break;		case "Basketball":			sports = new Basketball();		default:			break;		}		return sports;	}}

SportsTest测试类

public class SportsTest {	public static void main(String[] args) {		Sports sports = new SportsFactory().CreateSports("Football");		sports.playSports();		Sports sports1 = new SportsFactory().CreateSports("Basketball");		sports1.playSports();	}}	


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表