简单工厂类是常用的设计模式,大家也不陌生,简单讲解一下,我认为的好处,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(); }}
新闻热点
疑难解答