位置: 编程技术 - 正文

Android设计模式--抽象工厂模式(android设计模式单例有几种)

编辑:rootadmin

推荐整理分享Android设计模式--抽象工厂模式(android设计模式单例有几种),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android设计模式的应用场景,android设计模式与最佳实践 电子版,android设计模式与最佳实践 电子版,android设计模式面试题,android设计模式的应用场景,android设计模式的应用场景,android设计模式与最佳实践 pdf,android设计模式的应用场景,内容如对您有帮助,希望把文章链接给更多的朋友!

问题:

抽象工厂模式,是一个,狠恶心的模式,那么这个模式在Android有没有用到过呢?

1、定义:

抽象工厂模式:为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定他们的具体类。

2、使用:

2.1、不依赖于产品类实例如何被创建,组合和表达的细节;

2.2、产品有多于一个的产品族,而系统只消费其中某一族的产品;

2.3、同属于同一个产品族是在一起使用的;

2.4、提供一个产品类的库,所有产品以同样的接口出现,从而使使用者不依赖于实现;

3、与工厂方法的区别:

3.1、抽象工厂是面向一个工厂方法的升级;

3.2、抽象方法提供的是一个产品族,即多个产品等级结构,而工厂方法则是针对一个产品等级结构;

3.3、抽象方法提供的产品是衍生自多个抽象或者接口,而工厂方法则衍生自同一个抽象或者接口;

4、优点:

4.1、由于是工厂方法的升级,因此继承了工厂方法的所有优点;

Android设计模式--抽象工厂模式(android设计模式单例有几种)

4.2、可以在内部对产品族的产品进行相应的约束;

4.3、方便的切换产品族;

5、缺点:

5.1、不易拓展。新的产品族出现,抽象工厂以及相应的实现都需要修改;

6、最终的目的:

设计模式的目的最终是为了解除耦合,那么使用时,当工厂方法,添加某些方法,而形成的产品族时,便成为了抽象工厂,当抽象工厂减少某些方法变的单一时,便成为工厂方法。使用模式仅仅为了更好的维护与拓展。

7、简单的demo:

在彩票中有双色球,大乐透,等彩种,也有各种地方性的彩种,为了demo的方便,我将SSQ,DLT也划分为地方性彩种;

每个地方,都有这两个彩种,从而形成产品族。

具体工厂:

具体使用:

8、Android的说明:

由于抽象工厂不易于拓展新的产品族,所以这种设计模式,在提供对外部人员访问时,很少使用,所以在Android源码中,基本是没有这种设计模式,当然或许也是我没有找到吧,不过我想应该是没有的。

9、运用最为典范:

9.1 模式设计之初:就是为了适应在Unix与Windows两个操作系统下的视图(按钮Button,TextView等),而构建视图族,视图族中有各自不同的实现;

9.2在java 的连接数据库的操作中,对不同的数据库的操作而形成的对象操作族,就是一种很好的模式设计;但是当再次更换数据时,所需要造成的接口的修改也是十分恶心,所以这种模式拓展性不好!

当然,既然模式设计出来就有其优点与可用性,只是暂时在Android源码中没有发现,或许可以在自己的代码中实现,同时也期待和等待出现的惊喜!

[置顶] 快速掌握Android三个常用自定义控件Toast AlertDialog Notification 今天浏览到网上相关方法看起来有点复杂,于是总结了下安卓自定义Toast自定义AlertDialog自定义Notification://1Toasttoast;publicvoidmyToast(){if(toast!=null){toast.cance

ym——Android酷炫实用的开源框架(UI框架)(终) 转载请注明本文出自Cym的博客(

Android基础—Viewpager做引导界面 一个APP,首次打开的时候,第一个看到的是一张欢迎图片,然后进入引导界面,引导界面完了之后才进入主界面。要完成这个功能,首先,把welcome.java

标签: android设计模式单例有几种

本文链接地址:https://www.jiuchutong.com/biancheng/387559.html 转载请保留说明!

上一篇:android实现点赞动画(安卓点赞脚本)

下一篇:[置顶] 快速掌握Android三个常用自定义控件Toast AlertDialog Notification(置顶快手作品怎么弄)

  • 一般纳税人企业所得税是多少
  • 增值税专用发票电子版
  • 价外税和价内税的理解
  • 进口化妆品需要备案吗
  • 暂估成本会计处理
  • 企业控股情况怎么填写
  • 银行付款回单怎么看
  • 境外企业转让非居民企业
  • 兼营行为税务处理例子
  • 公司购买的二手车如何计提折旧
  • 个人申请补交个税怎么写
  • 保安公司增值服务
  • 没有发票的业务财务能挂帐吗
  • 全年实现利润总额为6035
  • 出租土地收入记什么科目
  • 营业执照副本编号是指什么
  • 房屋装修费是否分摊到地下车位成本
  • 资源综合利用企业税收优惠
  • 货币资金资产处置损益表如何填
  • 什么是土地使用者依照法律规定
  • 收到对方公司开出发票如何做账
  • deepin下载教程
  • 出售低值易耗品的账务处理
  • 简述项目融资风险的内容
  • 蕨菜的功效与作用及营养价值
  • 卡特迈国家公园地图
  • 外国政府贷款利息是否征收增值税
  • 结转代销成本
  • 计提工资个人所得税账务处理
  • php公众号推送完整示例
  • php7 nginx
  • clock set命令
  • thinkphp route
  • 微擎框架可以干什么
  • 在岗职工平均工资和社平工资的区别
  • access微软
  • 小规模纳税人与一般纳税人的区别表现在小规模纳税人
  • SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
  • Mysql以utf8存储gbk输出的实现方法提供
  • 股权转让实缴资本4000万如何缴纳
  • 永久性差异有哪些项目
  • 弃置费用怎么处理
  • 付款金额与发票金额不一致能入账吗?
  • 现金股利征收个人所得税吗
  • 合资公司股东如何退股
  • 原材料的合理损耗计入入账成本吗
  • 利润表的营业成本包括管理费用吗
  • 业务招待费包含样品费吗
  • 电子记账app下载
  • 建筑工程购买的搬运设备升降平台分录
  • 工商银行代收是什么意思
  • 出售二手固定资产如何开票
  • 填制记账凭证有哪些
  • 汽车几年折旧年限
  • 公司坏账率一般多少
  • centos6.9安装教程详细
  • solaris重启服务器命令
  • linux系统中可用于添加用户账号
  • macbookpro日历
  • linux dicom
  • win10笔记本不显示桌面
  • xp系统win键没反应
  • w8系统怎么用
  • centos 删除恢复
  • window无法正常启动怎么办
  • android 自定义dialog
  • 浏览器隐藏用法
  • Unity3D游戏开发标准教程
  • javascript获取数据
  • Node.js中的全局变量有哪些
  • java sc is never closed
  • cmd文件操作基本命令清单
  • 有关javascript的书
  • javascript怎么编写
  • javascript构造函数可继承父类的构造函数
  • python中创建自定义函数
  • 物流企业需要缴税吗
  • 租赁费的税率是多少
  • 出口报价必须含增值税吗
  • 林则徐家训带来的启示
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设