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

网络营销的网站定位做网站后台运营这个工作怎么样

网络营销的网站定位,做网站后台运营这个工作怎么样,南京手机网站设计公司,关键词排名优化网站建设公司建造者模式#xff08;Builder Pattern#xff09;学习笔记 1. 模式定义 建造者模式是一种创建型设计模式#xff0c;通过分步构建复杂对象的方式#xff0c;将对象的构建过程与表示分离。允许使用相同的构建过程创建不同的对象表示。 2. 适用场景 ✅ 需要创建包含多个…建造者模式Builder Pattern学习笔记 1. 模式定义 建造者模式是一种创建型设计模式通过分步构建复杂对象的方式将对象的构建过程与表示分离。允许使用相同的构建过程创建不同的对象表示。 2. 适用场景 ✅ 需要创建包含多个部件的复杂对象 ✅ 需要控制对象的创建过程分步骤构建 ✅ 需要构建不同表示的对象相同构建过程不同实现 ✅ 希望避免构造器参数过多解决伸缩构造函数问题 3. 模式结构 #mermaid-svg-W2K934V0KatnSv3j {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-W2K934V0KatnSv3j .error-icon{fill:#552222;}#mermaid-svg-W2K934V0KatnSv3j .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-W2K934V0KatnSv3j .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-W2K934V0KatnSv3j .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-W2K934V0KatnSv3j .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-W2K934V0KatnSv3j .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-W2K934V0KatnSv3j .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-W2K934V0KatnSv3j .marker{fill:#333333;stroke:#333333;}#mermaid-svg-W2K934V0KatnSv3j .marker.cross{stroke:#333333;}#mermaid-svg-W2K934V0KatnSv3j svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-W2K934V0KatnSv3j g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-W2K934V0KatnSv3j g.classGroup text .title{font-weight:bolder;}#mermaid-svg-W2K934V0KatnSv3j .nodeLabel,#mermaid-svg-W2K934V0KatnSv3j .edgeLabel{color:#131300;}#mermaid-svg-W2K934V0KatnSv3j .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-W2K934V0KatnSv3j .label text{fill:#131300;}#mermaid-svg-W2K934V0KatnSv3j .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-W2K934V0KatnSv3j .classTitle{font-weight:bolder;}#mermaid-svg-W2K934V0KatnSv3j .node rect,#mermaid-svg-W2K934V0KatnSv3j .node circle,#mermaid-svg-W2K934V0KatnSv3j .node ellipse,#mermaid-svg-W2K934V0KatnSv3j .node polygon,#mermaid-svg-W2K934V0KatnSv3j .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-W2K934V0KatnSv3j .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-W2K934V0KatnSv3j g.clickable{cursor:pointer;}#mermaid-svg-W2K934V0KatnSv3j g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-W2K934V0KatnSv3j g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-W2K934V0KatnSv3j .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-W2K934V0KatnSv3j .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-W2K934V0KatnSv3j .dashed-line{stroke-dasharray:3;}#mermaid-svg-W2K934V0KatnSv3j #compositionStart,#mermaid-svg-W2K934V0KatnSv3j .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #compositionEnd,#mermaid-svg-W2K934V0KatnSv3j .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #dependencyStart,#mermaid-svg-W2K934V0KatnSv3j .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #dependencyStart,#mermaid-svg-W2K934V0KatnSv3j .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #extensionStart,#mermaid-svg-W2K934V0KatnSv3j .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #extensionEnd,#mermaid-svg-W2K934V0KatnSv3j .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #aggregationStart,#mermaid-svg-W2K934V0KatnSv3j .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j #aggregationEnd,#mermaid-svg-W2K934V0KatnSv3j .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-W2K934V0KatnSv3j .edgeTerminals{font-size:11px;}#mermaid-svg-W2K934V0KatnSv3j :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Director -builder: Builder construct() «interface» Builder buildPartA() buildPartB() getResult() ConcreteBuilder -product: Product buildPartA() buildPartB() getResult() Product partA partB show() 4. 核心角色 角色说明Director指挥者控制构建过程非必须Builder抽象建造者定义构建步骤的接口ConcreteBuilder具体建造者实现构建步骤并返回产品Product最终构建的复杂对象 5. 代码示例 5.1 产品类 public class Computer {private String cpu;private String ram;private String storage;// 构造函数、getters、toString... }5.2 抽象建造者 public interface ComputerBuilder {void buildCPU();void buildRAM();void buildStorage();Computer getResult(); }5.3 具体建造者 public class GamingComputerBuilder implements ComputerBuilder {private Computer computer new Computer();Overridepublic void buildCPU() {computer.setCpu(Intel i9-13900K);}Overridepublic void buildRAM() {computer.setRam(64GB DDR5);}Overridepublic void buildStorage() {computer.setStorage(2TB NVMe SSD);}Overridepublic Computer getResult() {return computer;} }5.4 指挥者可选 public class Director {private ComputerBuilder builder;public Director(ComputerBuilder builder) {this.builder builder;}public Computer construct() {builder.buildCPU();builder.buildRAM();builder.buildStorage();return builder.getResult();} }5.5 客户端调用 public class Client {public static void main(String[] args) {ComputerBuilder builder new GamingComputerBuilder();Director director new Director(builder);Computer computer director.construct();// 或直接使用建造者ComputerBuilder builder2 new OfficeComputerBuilder();builder2.buildCPU();builder2.buildRAM();Computer simpleComputer builder2.getResult();} }6. 模式变种 链式调用版 public class Computer {// 使用静态内部类实现public static class Builder {private String cpu;private String ram;public Builder withCPU(String cpu) {this.cpu cpu;return this;}public Builder withRAM(String ram) {this.ram ram;return this;}public Computer build() {return new Computer(this);}} } // 使用new Computer.Builder().withCPU(i7).withRAM(16GB).build();7. 优缺点分析 ✔️ 优点 分离构建过程和表示更好的控制构建过程方便扩展新的产品类型避免过多构造函数参数 ❌ 缺点 增加代码复杂度产品需要高度相似才适用对简单对象的创建可能显得冗余 8. 相关模式对比 模式关注点复杂度使用场景工厂模式对象整体创建低创建单一类型对象抽象工厂模式产品族的创建高创建相关对象家族建造者模式分步构建复杂对象中需要分步骤构建的复杂对象 9. 实际应用案例 Java中的StringBuilderSpring中的BeanDefinitionBuilderLombok的Builder注解实现Android中的AlertDialog.Builder 10. 最佳实践建议 当构造器参数超过4个时考虑使用需要创建不可变对象时优先使用使用链式调用增强可读性当构建顺序重要时一定要保留Director角色 记忆技巧把建造者模式想象成分步填表的过程最后提交表格生成完整对象。
http://www.hkea.cn/news/14397070/

相关文章:

  • 电脑怎么做服务器 网站青岛队建网站
  • apache建设本地网站网页制作中的常见问题
  • 网站建设制作苏州做网站需要学些什么条件
  • 网站布局方式备案网站多长时间
  • 做it的兼职网站推广网站详细教程
  • 网站设计自学商家产品展示网站源码
  • 如何用二级域名做网站静海做网站公司
  • 公司网站集群系统架构及建设思路网站开发架构图
  • 淘宝导购网站备案广州设计网站
  • 石家庄营销网站建设多少钱电子商务发展的前景
  • 上海市城乡住房建设厅网站卓辉科技 网站建设
  • 建立网站代码后端开发需要掌握哪些知识
  • 三只松鼠网站开发模板空间站 参考消息
  • 网站建设期中考试题自助建站广告发布
  • 哪个网站做不锈钢好东纺服装人才网
  • 网站建设制度软文营销的案例
  • 美橙互联 网站备案拍照中国黄页电话号码查询
  • 平台类网站做雕塑网站找哪家好
  • 怎么下载网站的视频中企动力销售赚得多吗
  • 怎么做网站的产品分析wordpress手机号注册插件
  • 做网站前端视频自动的东莞网站制作公司
  • 上海网站建设机构文字网址生成器
  • 西安印象网站建设公司网站制作效果怎么样
  • 旅游网站建设的方法网站权重如何查询
  • 网站品牌推广设计360搜索网址是多少
  • 厉害的网站开发网站官网认证怎么做
  • 用什么软件做网站好宁波网站建设按需定制
  • 中国太平保险集团官方网站wordpress 主题 导入2
  • 怎么给网站做网站地图一般网站的宽度
  • 深圳建设个网站wordpress内部架构