工厂方法,简单粗暴得理解就是:有一些相似的工厂,他们有着同一个方法,并且生产同样类型的产品。再粗暴 一点就是:比如有2家工厂,都生产汽车,一家叫做宝马公司,一家叫做比亚迪股份,他们都有一个方法叫做“造车”。
如何实现这个场景呢?
超级无敌简单:分三步走:1、定义产品接口和产品 。 2、定义抽象的工厂类和具体工厂类。 3、调用。
1、定义产品接口和产品
public interface Car { //定义一个Car的接口,里边只有一个简单的run的方法 public void run(); } class Bmw implements Car{ //定义宝马汽车,并且实现run方法 public void run() { System.out.println("我是大宝马,跑起来非常拉风!!"); } } class Byd implements Car{ //定义比亚迪汽车,并且实现run方法 public void run() { System.out.println("我是小比亚迪,跑起来一般般~~"); } }
2、定义抽象的工厂类和具体的工厂类
abstract class CarFactory{ //定义一个抽象的工厂类,里边有一个抽象方法:造车 public abstract Car createCar(); } class BmwFactory extends CarFactory{ //宝马的工厂,实现生产宝马的方法 public Car createCar() { return new Bmw(); } } class BydFactory extends CarFactory{ //比亚迪的工厂,实现生产比亚迪的方法 public Car createCar() { return new Byd(); } }
3、调用来看看!!
public static void main(String[] args) { CarFactory bydFactory=new BydFactory(); bydFactory.createCar().run(); CarFactory bmwFactory=new BmwFactory(); bmwFactory.createCar().run(); } 结果: 我是小比亚迪,跑起来一般般~~ 我是大宝马,跑起来非常拉风!!
总结:
工厂方法的应用场景:比如上述例子。
工厂方法的好处:让程序变得更加容易扩展!
举个例子:要在上述例子加入一个丰田公司和丰田车,那怎么办?非常easy。直接看代码!
class Toyota implements Car{ //先定义车
public void run() {
System.out.println("我是丰田轿车,大家不要砸我");
}
}
class ToyotaFactory extends CarFactory{ //再定义工厂
public Car createCar() {
return new Toyota();
}
}
我的理解就是这样的,欢迎大家留言讨论
相关推荐
在标题“c++设计模式-工厂方法模式”中,我们关注的是如何在C++中实现工厂方法这一设计模式。工厂方法模式的核心思想是定义一个创建对象的接口,但让子类决定实例化哪一个类。这样,工厂方法可以使类的实例化过程...
在给定的“设计模式UML图--工厂模式”中,我们关注的是三种不同的工厂模式:简单工厂、工厂方法和抽象工厂。这些模式都是创建型设计模式,它们的核心目标是为对象的创建提供一种抽象,使得客户端代码不必关心具体的...
**工厂方法设计模式** 在iOS开发中,设计模式是一种被广泛采用的最佳实践,它提供了一种在不指定具体实现的情况下创建对象的方式。工厂方法(Factory Method)是面向对象设计模式中的一种,属于创建型模式。它定义...
《设计模式之——工厂方法(Factory Method)》 在软件工程中,设计模式是一种解决常见问题的可重用解决方案,它被广泛应用于构建高质量、可维护的代码。工厂方法是面向对象设计模式的一种,属于创建型模式。这个...
工厂方法模式是面向对象设计中的一种经典设计模式,属于创建型模式。...观看"设计模式-工厂方法模式视频"能帮助你深入理解这一模式的实际应用和背后的原理,通过视频学习,可以结合示例代码更好地掌握其精髓。
2. **工厂方法模式(Factory Method Pattern)**:定义一个创建对象的接口,但让实现这个接口的类决定实例化哪一个类。工厂方法让类的实例化推迟到子类中进行,提供了更好的可扩展性。 3. **抽象工厂模式(Abstract...
在软件开发领域,设计模式是一种经过...总的来说,工厂方法设计模式是软件开发中的一个重要工具,通过将对象的创建过程抽象化,可以提高代码的可扩展性和可维护性。理解和掌握这一模式对于提升软件设计能力大有裨益。
java设计模式----抽象工厂模式,简单工厂模式代码 代码内部
工厂车间-工厂车间系统-工厂车间系统源码-工厂车间管理系统-工厂车间管理系统java代码-工厂车间系统设计与实现-基于springboot的工厂车间系统-基于Web的工厂车间系统设计与实现-工厂车间网站-工厂车间网站代码-工厂...
2. **工厂方法模式**:将具体产品的实例化延迟到子类中进行,工厂接口定义了创建对象的协议,但不直接实例化对象,而是由每个子类自己决定实例化哪个具体产品。这种方式增强了系统的灵活性,易于扩展新的产品。 3. ...
2. **工厂方法模式** 提供了更好的扩展性,遵循开闭原则,适合产品族中对象类别可能增加的情况。 3. **抽象工厂模式** 关注对象族的创建,适用于需要在不同环境中创建一系列相关对象的情况,但结构较为复杂,增加新...
熵增教育-熵增学院VIP精品课程录播:简单工厂模式-工厂方法模式-抽象工厂模式
2. **工厂方法模式**: 工厂方法模式将对象的创建过程推迟到子类中,每个子类都有一个创建对象的工厂方法,根据不同的子类实例化出不同的对象。这样做的好处是保持了接口的统一,同时允许扩展新的产品类型。在Java...
本报告主要介绍了三种不同类型的工厂模式:简单工厂方法模式、工厂模式以及抽象工厂模式,并通过具体的实例来展示它们的设计与实现。 #### 二、简单工厂方法模式 **设计** 简单工厂方法模式的主要特点是存在一个...
这个名为"JAVA设计模式例程-工厂模式-1"的压缩包文件提供了一个关于工厂模式的实例,可以帮助学习者更好地理解和应用这个模式。 工厂模式的核心思想是提供一个创建对象的接口,但让实现延迟到子类去做,这样做的...
简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,使得代码在创建对象时更加灵活,同时也隐藏了对象的创建细节,提高了代码的可读性和可维护性。在Java编程中,简单工厂模式...
工厂模式是设计模式中的一种,属于创建型模式,它提供了一种封装对象创建过程的方法,使得创建对象的过程与使用对象的代码分离,从而提高了代码的灵活性和可扩展性。 工厂模式的核心思想是通过一个工厂类来负责创建...
工厂车间-工厂车间系统-工厂车间系统源码-工厂车间管理系统-工厂车间管理系统java代码-工厂车间系统设计与实现-基于springboot的工厂车间系统-基于Web的工厂车间系统设计与实现-工厂车间网站-工厂车间网站代码-工厂...
2. **工厂方法模式**: 工厂方法模式将对象的创建过程委托给子类,每个子类对应一个特定的产品类型。这使得系统更具扩展性,当需要添加新产品时,只需要创建新的子类即可,无需修改原有代码。工厂方法模式符合“开...