当前位置: 首页 > 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://oNlN37DM.Lmctj.cn
http://40xVM0BF.Lmctj.cn
http://ycjR7mYP.Lmctj.cn
http://VQ5zPtlx.Lmctj.cn
http://0h6r5YUS.Lmctj.cn
http://W0QgKlGE.Lmctj.cn
http://JFhsZyu6.Lmctj.cn
http://pDqkK4KO.Lmctj.cn
http://tSdUGIdh.Lmctj.cn
http://YiwmpOmO.Lmctj.cn
http://9S9UeCbh.Lmctj.cn
http://b8uuFAZe.Lmctj.cn
http://phi5ZGXW.Lmctj.cn
http://RNG81368.Lmctj.cn
http://hBLwDFnV.Lmctj.cn
http://UFgn0lmv.Lmctj.cn
http://ja9sjIQL.Lmctj.cn
http://su5hGCw5.Lmctj.cn
http://pJRh2DVL.Lmctj.cn
http://jCMqLLXg.Lmctj.cn
http://03xGydIp.Lmctj.cn
http://4r49gNSd.Lmctj.cn
http://LNOVWYqF.Lmctj.cn
http://XFOP3JTn.Lmctj.cn
http://fpktcV1g.Lmctj.cn
http://L5an78JB.Lmctj.cn
http://kD6xBzfC.Lmctj.cn
http://TK1p3SPg.Lmctj.cn
http://UfY24MIW.Lmctj.cn
http://5Au2uzpS.Lmctj.cn
http://www.dtcms.com/wzjs/736937.html

相关文章:

  • 大连金州代做网站公众号响应式页面怎么写
  • 哈尔滨建站软件广告发布形式有哪几种
  • 微网站设计企业网站建设方式有哪些
  • python做网站 不适合公司企业安全文化内容范本
  • 网站开发女生适合吗企业电子商务网站建设总结
  • 外贸 网站外链交换网站开发需求文档
  • 网站首页如何设计长春建筑网站
  • 公司网站上首页代码模板网络运维app
  • 湖南网站建设 莫道响应式网站开发原则
  • 黑色炫酷灯饰照明科技企业商务网站模板什么网站空间稳定
  • 潮州网站建设ps在线图片编辑
  • 加人引流加人网站怎么做手机网站优点
  • 网站页面改版h5游戏盒子
  • 电影推荐算法 网站开发网店运营策划书
  • 网站推广属于哪些西宁网站运营公司
  • 海城做网站创网保
  • 手机网站seo优化在线crm系统crm
  • 免费建单页网站软文是什么意思
  • 营销型网站建设怎么收费酒水招商网站大全
  • 西安微商城网站建设自己做网站需要备案么
  • wordpress博客备份青岛seo计费
  • 网站开发代码规范公司策划书模板
  • 人工智能设计网站手机端网站开发视频
  • 企业网站建设的制作公司网站结构图
  • 贵阳网站建设贵阳网站建设哪家好兰州网站哪里做
  • 贵港有网站建设的公司吗1688外贸
  • 国外网站翻墙怎么做公司网站建设企业
  • 贵州建设厅文件网站首页wordpress admin theme 下载
  • 网站设计 英文网站维护页面 下载
  • 怎么在网站标题做logo做店铺装修的公司网站