当前位置: 首页> 文旅> 旅游 > android——设计模式(工厂模式)

android——设计模式(工厂模式)

时间:2025/7/11 7:36:06来源:https://blog.csdn.net/wy313622821/article/details/140204223 浏览次数:0次

一、工厂模式

Android 设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而不必暴露其内部的创建逻辑。在Android中,工厂模式通常用于管理复杂组件实例化的过程,比如创建各种View、Activity、Fragment等。通过将组件的创建过程封装在一个单独的类或者接口中,可以方便地改变实现细节而无需修改客户端代码。

以下是工厂模式的基本步骤:

  1. 定义一个抽象工厂接口或类,声明能够创建所需对象的方法。
  2. 创建各个具体的工厂类,每个类都负责生产一种类型的对象。
  3. 使用工厂方法来请求所需的对象,这会返回一个已经配置好的对象实例。

 示例:各个医院的个性化代码都抽取出来放到一个地方统一管理

interface IHospital {fun getProjectInfo()
}
/*** 默认的医院*/
class DefaultHospital : IHospital {override fun getProjectInfo() {println("DefaultHospital--getProjectInfo 共同的方法!")}// 定义一个非接口的方法fun fetch() {println("DefaultHospital is fetching!")}
}
/*** ZJ医院*/
class ZjyyHospital : IHospital {override fun getProjectInfo() {println("ZjyyHospital--getProjectInfo 共同的方法!")}// 定义一个非接口的方法fun purr() {println("ZjyyHospital is purring!")}}
// 医院工厂
object HospitalFactory {private val mZjyyHospital = ZjyyHospital()private val mDefaultHospital = DefaultHospital()fun create(type:Int): IHospital {return when(type) {0 -> mZjyyHospitalelse -> mDefaultHospital}}
}

在main中使用:

val zHospital = HospitalFactory.create(0)zHospital.getProjectInfo() // 接口中的方法可以直接调用if (zHospital is ZjyyHospital){zHospital.purr() // 个性化的方法需要判断医院}

关键字:android——设计模式(工厂模式)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: