快速理解工厂类模式
来源:互联网 发布:java 时间戳 编辑:程序博客网 时间:2024/05/18 11:22
在读这篇文章前可以先回顾一下简单工厂类的弊病。如果要增加一种车的类型,就得去改原来的生成不同Car的代码。这违背开闭原则,对修改封闭,对扩展开放。
工厂类解决了这个问题。一个工厂类的父类,可以派生出多个具体子工厂类。每个子类都可以生产出通一种商品,例子里是Car,只是不同品牌。
- //工厂类
- abstract class Factory{
- public abstract Car createCar();
- }
- //具体工厂(每个具体工厂负责一个具体产品)
- class BenzFactory extends Factory{
- public Car createCar(){
- return new Benz();
- }
- }
- class BmwFactory extends Factory{
- public Car createCar(){
- return new Bmw();
- }
- }
- public class Driver{
- public static void drive(Factory factory){
- factory.createCar().run();
- }
- }
- //测试
- public class Test{
- public static void main(String[] args){
- Driver driver = new Driver();
- driver.driver(new BenzFactory());
- driver.driver(new BmwFactory());
- }
- }
- class AudiFactory extends Factory{
- public Car createCar(){
- return new Audi();
- }
- }
- //新测试
- public class Test{
- public static void main(String[] args){
- Driver driver = new Driver();
- driver.driver(new BenzFactory());
- driver.driver(new BmwFactory());
- driver.driver(new AudiFactory());
- }
- }
0 0
- 快速理解工厂类模式
- 快速理解简单工厂类模式
- 工厂模式的简单实现和快速理解--------(java复习)
- 理解工厂模式
- 工厂模式的理解
- 工厂模式的理解
- 理解工厂模式
- 工厂模式理解
- 工厂模式的理解
- 工厂模式理解
- 静态工厂模式 理解
- 工厂模式的理解
- 工厂模式简单理解
- 工厂模式理解
- 工厂模式理解
- 工厂模式的理解
- 工厂模式的理解
- Pattern_Note_LabVIEW工厂模式理解
- Android 数据结构以及常用的算法
- 箭头函数
- POJ 3069 Saruman's Army (贪心)
- HTML5使用manifest缓存
- Android 4.x 在 https 协议下无法利用 okhttp 进行网络访问的临时解决办法
- 快速理解工厂类模式
- AndroidStudio签名打包爬坑记
- SVN服务器的本地搭建和使用(一)
- SVN服务器搭建和使用(二)
- ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
- Linux下的SVN服务器搭建
- javaFX与spring整合方法
- SVN服务器搭建和使用(三)
- 使用SourceTree git项目详解