工厂设计模式在高校课堂笔记中应用案例分析.pdfVIP

  • 0
  • 0
  • 约7.3千字
  • 约 19页
  • 2026-01-22 发布于北京
  • 举报

工厂设计模式在高校课堂笔记中应用案例分析.pdf

1、案例:工厂设计模式

设,将利用设计模式的描述反过来发布其实现意义

2、具体内容

实际设计模式在实例化对象的过程中,如果要实例化一个接口的对象,那么往往会直接使用new

packagecn.demo;接口Fruit{公共

voideat();}类Apple实现Fruit

{@Override公共voideat()

{System.{System.outout.println(.println(吃苹果吃苹果..);}});}}

类Orange实现Fruit{@Override公共

voideat(){System.out.println(吃

橘子.);}

1、案例:工厂设计模式

设,将利设式的述反发之实义

2、具体内容

实际设模式实例化对象的准结构正操作之中果要实例化个接的

对象那么往往会接用关new

packagecn.demo;

interfaceFruit{

publicvoideat();

}

classAppleimplementsFruit

{@Override

publicvoideat()

{System.out.println(吃苹果.);

}

}

classOrangeimplementsFruit

{@Override

publicvoideat()

{System.out.println(吃橘子.);

}

}公共类测试演示{公共静态空方法主方法(字符串

[]参数){水果f=新橙子();f.吃();}}

但是这个时候,一个新的小小的疑问出现了:主方法实际上就是一个客户端,客户端不应该处理

任何复杂的操作。如果现在想要更换一个子类,那么就需要去修改主方法(客户端代码),这样做合

适吗?如果要更换一个子类,那么必须让客户去执行

因为此时的客户代码中的接口对象实例化操作直接与一个具体的子类通过`new`关联了

JVM为我们了很好的解决关联问题的方案。许多Java程序实际上是通过JVM间接地运行在

操作系统上的,因此,只要JVM的支持不变,就可以任意地移植。如果程序直接与操作系统完全

在一起,那么程序将无法修改。也就是说,传统的开发方式是:A➔B、A➔C➔B,中间出现了一个

问题,而这个层次负责处理所有的连接操作

范例:编写设计过程中的中间环节

packagecn.demo;

interfaceFruit{

publicvoideat();

}

classAppleimplementsFruit

{@Override

publicvoideat()

{System.out.println(吃苹果.);

}

}

}

publicclassTestDemo{

publicstaticvoidmain(String[]args)

{Fruitf=newOrange();

f.eat();

}

}

但是这个时候个新的小小的疑出现了主方法实际上就是个客户端,客户端不应该处何

复杂操作如果现要想更换个子类,那么就去修改主方法(客户端代码),合适吗?想更换

子类,那么必须客户去执行

因为此时的客户代码个接口的对象实例化操作接与个具体的子类通过关new合了

JVM给了我们很好的决合的方案,有的JAV序实际上是过JVM来间的运行在

操系统,从,只要JVM的支持不变,么可以任意的移植,如果序接与操作系

统完全起那么程序将无法修改,就是说传统开发是:A➔B、A➔C➔B,中现

个,而这个层,负处所有的连接操作范

例:写设

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档