设计模式(3)builder

ops/2024/10/10 23:24:29/

需求: 对于复杂的对象,我们只需要 通过 设置一些参数,就可以得到相对应的 实例。

简单来说, 需求就是用一个类  通过方法返回一个  新建的对象,而且可以通过方法去设置这个对象

public interface CarBuilder {void setCarName(String name);void setCarModel(String model);Car getCar();
}

 这个类有一个 内部私有 car, 通过getCar ,输出 car的实例。

package com.example.builder;public class CarBuilderImp implements CarBuilder {private Car car = new Car ();@Overridepublic void setCarName( String name) {car.setName(name);}@Overridepublic void setCarModel(String model) {car.setModel( model);}@Overridepublic Car getCar() {return car;}
}
package com.example.builder;import android.util.Log;import androidx.annotation.NonNull;public class Car {String name;String model;public void setName(String name) {this.name = name;}public void setModel(String model) {this.model = model;}public String getName() {return name;}public String getModel() {return model;}@NonNull@Overridepublic String toString() {Log.d("Car"+"LIU","name = " + this.name + "model = " + this.model);return this.name + this.model;}}

example

        CarBuilderImp carBuilderImp = new CarBuilderImp();carBuilderImp.setCarModel("X1");carBuilderImp.setCarName("BMW");Car car = carBuilderImp.getCar();2024-10-05 11:53:36.966 18346-18346/com.example.builder D/CarLIU: name = BMWmodel = X1

参考:百度安全验证

https://github.com/youlookwhat/DesignPattern#11-%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8F


http://www.ppmy.cn/ops/123701.html

相关文章

爬虫prc技术----小红书爬取解决xs

知识星球:知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具知识星球是创作者连接铁杆粉丝,实现知识变现的工具。任何从事创作或艺术的人,例如艺术家、工匠、教师、学术研究、科普等,只要能获得一…

OpenAI .NET 库稳定版发布,支持 GPT-4o 并改进 API 功能

penAI 在6月推出其官方 .NET 库的 beta 版之后,如今终于发布了稳定版。该库已在 NuGet 上作为包发布,支持最新的模型,如 GPT-4o 和 GPT-4o mini,并且提供完整的 OpenAI REST API。这次发布包括同步和异步 API,以及流式…

我对软件工程的理解

1 引言 从事软件行业这么年,写了10年代码,又从事了多年的项目产品方面的工作,一些每天用到的软件工程的方法,虽然天天都在用但一些概念总感觉似是而非,正好借假期的时间,好好整理下,以供自己或…

秋招内推2025-招联金融

【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

论文阅读——联邦忘却学习研究综述

文章基本信息 作者: 王鹏飞魏宗正周东生宋威肖蕴明孙庚于硕张强 机构: 大连理工大学计算机科学与技术学院大连理工大学社会计算与认知智能教育部重点实验室大连大学先进设计与智能计算教育部重点实验室美国西北大学计算机科学系吉林大学计算机科学与…

vim(1) -- 环境配置

1. 配置文件 编辑~/.vim/vimrc文件,内容如下。 " 开启语法高亮 syntax on " 显示行号 set number " 显示行下划线 set cursorline set scrolloff5 " 智能缩进 set smartindent " 行太长时换行显示 set wrap" 高亮搜索内容 set hlse…

PHP如何更改要上传的文件大小的最大值

在PHP中,要更改要上传的文件大小的最大值,需要调整一些配置文件和参数。这些参数决定了PHP脚本可以处理的最大文件大小、上传文件的最大大小以及脚本可以使用的最大内存量等。以下是一些详细的步骤和参数解释,帮助你配置PHP以允许更大的文件上…

基于Java的宠物领养管理网站系统设计与实现

功能介绍 平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、宠物详情页、领养、用户中心模块。后台功能包括:总览、领养管理、宠物…