android——设计模式(工厂模式)
一、工厂模式
Android 设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而不必暴露其内部的创建逻辑。在Android中,工厂模式通常用于管理复杂组件实例化的过程,比如创建各种View、Activity、Fragment等。通过将组件的创建过程封装在一个单独的类或者接口中,可以方便地改变实现细节而无需修改客户端代码。
(图片来源网络,侵删)
以下是工厂模式的基本步骤:
- 定义一个抽象工厂接口或类,声明能够创建所需对象的方法。
- 创建各个具体的工厂类,每个类都负责生产一种类型的对象。
- 使用工厂方法来请求所需的对象,这会返回一个已经配置好的对象实例。
示例:各个医院的个性化代码都抽取出来放到一个地方统一管理
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 -> mZjyyHospital else -> mDefaultHospital } } }
在main中使用:
val zHospital = HospitalFactory.create(0) zHospital.getProjectInfo() // 接口中的方法可以直接调用 if (zHospital is ZjyyHospital){ zHospital.purr() // 个性化的方法需要判断医院 }
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。