当前位置: 首页 > wzjs >正文

南宁seo站内关键词优化建设网站哪专业

南宁seo站内关键词优化,建设网站哪专业,怎么做校园表白墙网站,欧亚专线到国内多久一、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、核心思想: 分离构造与表示:将对象的构建过程(如参数组合、校验逻辑)与对象本身分离。 链式调用:通…

一、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

二、核心思想:

        分离构造与表示:将对象的构建过程(如参数组合、校验逻辑)与对象本身分离。

        链式调用:通过 return this 实现链式语法,提升代码可读性。

        可选参数处理:避免构造方法重载爆炸,灵活处理可选参数。

三、组成:

        Product:需要构建的复杂对象,比如AlertDialog。

        Builder:定义构建步骤的抽象方法,比如AlertDialog.Builder。

        ConcreteBuilder:实现构建逻辑,最终提供build()方法返回对象。

        Director:可选角色,负责控制构建流程,Android中通常省略这一步。

四、案例:Android源码的AlertDialog.Builder

// 使用 Builder 模式构建 AlertDialog
AlertDialog dialog = new AlertDialog.Builder(context)

    .setIcon(R.drawable.icon)
    .setTitle("提示")
    .setMessage("确定删除吗?")
    .setPositiveButton("确定", (d, which) -> { /* 点击事件 */ })
    .setNegativeButton("取消", null)
    .create();

dialog.show();

源码解析:

1.Builder类将AlertDialog相关参数放到AlertController.AlertParams成员变量P中,Builder类调用create方法创建AlertDialog对象,在create里通过P.apply方法将变量P传入AertDialog的mAlert对象中。

2.调用show方法,显示这个对话框。show方法通过dispatchOnCreate方法调用AlertDialog的onCreate方法,然后调用AlertDialog的onStart方法,最后将Dialog的DecorView添加到WindowManager中。

3.AlertDialog的onCreate方法主要调用了AlertController的installContent方法,installContent方法最终调用Window对象的setContentView方法,类似于Activity一样。

五、优缺点:

        优点:参数灵活,代码可读性高,对象不可变性,构建过程可控。

        缺点:代码冗余,轻微影响性能,但几乎可以忽略不计。

六、适用场景:

        1.参数多且可选,需要构建不同的实例,如网络请求,图片加载,复杂的配置对象。

        2.需要不可变对象,通过Builder一次性构建,后期使用不需要再改变参数。

        3.构建过程复杂,需要根据不同需求或条件去构建不同的对象。

七、与其他模式对比

        工厂模式:关注对象创建的整体性,而Builder模式强调分步构建。

        构造方法:参数过多时,重载方法会异常的多,难以维护,而Builder的链式调用更为清晰易懂。

http://www.dtcms.com/wzjs/583074.html

相关文章:

  • 帮客户做网站图片被告侵权精品网站建设费用 地址磐石网络
  • 南昌企业建设网站开发城市建设网站设计
  • 简约网站版式开网站 主机 服务器
  • 东莞网站建设服务河北沧州网站建设
  • 跨境电商自己做网站卖衣服电子商务公司取名字参考大全
  • 电商网站seowordpress 优惠券 插件
  • 如何防止网站被注入黑链网站系统解决方案
  • 给公司网站做seo的好处专业网站制作网站公司
  • 品牌建设网站服务西安有什么好玩的游乐园
  • 莆田自助建站软件安徽省交通运输厅
  • 移动营销型网站建设做公众号app 网站 app
  • 专业做红木家具网站广州网站建设加盟
  • asp.net网站开发期末复习题网站建设公司 保证完成
  • 嘉兴网站seo网站推广公司 优帮云
  • 怎么做能够让网站流量大公众号做微网站吗
  • 北京app制作公司保定网站建设seo优化营销
  • 商业网站建设规划书网站付费怎么做
  • 网站关键词添加后的后果做网站3年3万
  • 济南做公司网站电子商务网站的基础建设
  • 做网站需要展示工厂么?三只松鼠搜索引擎营销案例
  • 广州地区做网站的怎么选一个适合自己的网站
  • 网站seo检测旅游网站建站目的
  • 大棚网站怎么做绍兴网站专业制作
  • 本科毕业设计代做网站深圳html5网站建设价格
  • 盐城快速建设网站找哪家网站代码模板免费
  • 男男床上爱做 网站自媒体申请注册
  • 网上哪里给公司做网站电子科技技术支持东莞网站建设
  • html5官方网站开发流程找谁做网站优化
  • 企业网站建设的原则是nodejs网站开发教程
  • 360制作网站网站建设流程教程