Open MoJieBlog opened 5 years ago
AlertDialog
,一般用在某些辅助类(如BRVAH
的BaseViewHolder
)或者开发的框架的时候方便连续设置多个属性和调用多个方法。工厂模式,一般用于业务的实体创建,在创建的过程中考虑到后期的扩展。在Android
源码中比较常见的有BitmapFactory
`LayoutInflater.Factory,在实体编码的过程中,比如
BRVAH的多布局,如果数据类型比较多或者后期需要扩展,则可以通过工厂布局的方式,将实现
MultiItemEntity `接口的实体通过工厂模式创建:
object MultiItemEntityFactory{
val TEXT = 1
val IMG = 2
val TEXT_IMG = 3
fun createBean(type:Int): MultiItemEntity {
when(type){
TEXT -> return BeanA()
IMG -> return BeanB()
TEXT_IMG -> return BeanC()
else -> return BeanA()
}
}
}
class MultipleItemQuickAdapter(data: List<*>) : BaseMultiItemQuickAdapter<MultiItemEntity, BaseViewHolder>(data) {
init {
addItemType(MultipleItem.TEXT, R.layout.text_view)
addItemType(MultipleItem.IMG, R.layout.image_view)
}
override fun convert(helper: BaseViewHolder, item: MultipleItem) {
...
}
}
简单工厂:一工厂 多产品; 工厂方法:多工厂 多产品;
抛砖引玉
单例模式 顾名思义,只有一个实例,一般用来网络请求的实例
建造者模式,不是很熟悉,AlertDialog的创建使用的是这个
工厂模式,批量生产相似的产品,可用来设计Activity的基类