【Java 简单工厂模式】简单工厂模式是一种创建型设计模式,它的主要思想是提供一个工厂类,根据传入的参数动态地返回一个产品对象。这种模式将对象的创建与对象的使用分离,使得代码更加简洁且易于维护。 在Java中,简单工厂模式通常包含以下三个关键角色: 1. **工厂类**:这是模式的核心,负责根据输入条件创建具体的产品对象。在这个例子中,女娲相当于工厂类,她按照特定的想法(抽象的人的概念)创造出了具体的人(张三、李四等)。在实际编程中,工厂类通常会有一个静态方法,根据传入的参数决定创建哪个具体的产品。 2. **抽象产品**:这是一个接口或抽象类,定义了所有产品类必须遵循的公共行为。在女娲的故事中,抽象的人是只存在于女娲头脑中的概念,它规定了所有被制造出来的人(即具体产品)应具备的特征或能力。在代码示例中,`Fruit`接口就是抽象产品,它规定了所有水果类必须实现的`grow()`、`harvest()`和`plant()`方法。 3. **具体产品**:这些是实现了抽象产品的具体类。在女娲的故事中,张三、李四等就是具体产品。在代码中,`Apple`和`Grape`类都是实现了`Fruit`接口的具体产品,它们各自有自己的特性和方法,如`Apple`的`treeAge`属性和`Grape`的`seedless`属性。 使用简单工厂模式的好处包括: - **封装性**:客户端代码无需知道如何创建产品对象,只需要知道调用工厂类的哪个方法即可。 - **灵活性**:如果需要添加新产品,只需创建一个新的具体产品类,并在工厂类中增加相应的创建逻辑,而不需要修改现有的客户端代码。 - **扩展性**:如果需要根据不同的条件创建不同类型的产品,可以通过增加工厂类的判断逻辑来实现。 然而,简单工厂模式也存在局限性,如当产品类型增多时,工厂类可能变得过于复杂,难以维护。此外,它违反了开闭原则,即对扩展开放,对修改关闭。如果需要添加新的产品类型,通常需要修改工厂类的源代码。 在实际开发中,简单工厂模式常用于那些产品种类有限且不经常变化的场景。当需要更复杂的创建策略时,可以考虑使用工厂方法模式或抽象工厂模式。
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助