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

企业网络推广网站建设网页设计入门教程pdf

企业网络推广网站建设,网页设计入门教程pdf,关于江西建设监督网网站迁移,平台企业是什么意思在Android开发中,建造者模式(Builder Pattern)是一种常用的设计模式,它主要用于构建复杂对象。建造者模式通过将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这种模式特别适用于那些需要多个…

在Android开发中,建造者模式(Builder Pattern)是一种常用的设计模式,它主要用于构建复杂对象。建造者模式通过将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这种模式特别适用于那些需要多个步骤来创建对象的场景,并且这些步骤的顺序可能是固定的,但具体的值可能是变化的。

建造者模式的基本结构

  1. 产品(Product)角色:它是被构建的复杂对象,包含多个组成部件的类(属性)。
  2. 抽象建造者(Builder)角色:定义一个接口,用于规范产品对象的各个组成成分的建造。一般为抽象类或接口,包含创建产品各个子部件的抽象方法。
  3. 具体建造者(ConcreteBuilder)角色:实现Builder接口,完成复杂产品的各个部件的具体创建方法。在构造方法内部,通常还包含一个指向产品对象的引用,这个引用是在具体的builder初始化时传入的。
  4. 指挥者(Director)角色:负责安排已有模块的顺序,然后告诉Builder开始建造。

Android中的建造者模式示例

假设我们需要在Android中创建一个复杂的用户信息对象UserInfo,这个对象包含姓名、年龄、地址等多个属性,并且这些属性的设置可能依赖于不同的场景。

1. 定义产品(Product)
 

java复制代码

public class UserInfo {
private String name;
private int age;
private String address;
// 私有构造函数,防止外部直接创建
private UserInfo() {}
// Getter 和 Setter 省略
@Override
public String toString() {
return "UserInfo{" +
"name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
'}';
}
}
2. 定义抽象建造者(Builder)
 

java复制代码

public interface UserInfoBuilder {
UserInfoBuilder setName(String name);
UserInfoBuilder setAge(int age);
UserInfoBuilder setAddress(String address);
UserInfo build();
}
3. 定义具体建造者(ConcreteBuilder)
 

java复制代码

public class UserInfoBuilderImpl implements UserInfoBuilder {
private UserInfo userInfo;
public UserInfoBuilderImpl() {
this.userInfo = new UserInfo();
}
@Override
public UserInfoBuilder setName(String name) {
userInfo.setName(name);
return this; // 链式调用
}
@Override
public UserInfoBuilder setAge(int age) {
userInfo.setAge(age);
return this;
}
@Override
public UserInfoBuilder setAddress(String address) {
userInfo.setAddress(address);
return this;
}
@Override
public UserInfo build() {
return userInfo;
}
}
4. 使用(指挥者角色可以省略,因为直接通过建造者即可构建对象)
 

java复制代码

public class BuilderPatternDemo {
public static void main(String[] args) {
UserInfoBuilder userInfoBuilder = new UserInfoBuilderImpl();
UserInfo userInfo = userInfoBuilder
.setName("张三")
.setAge(30)
.setAddress("北京市朝阳区")
.build();
System.out.println(userInfo);
}
}

在这个例子中,我们没有显式地定义指挥者(Director)角色,因为直接通过建造者(UserInfoBuilderImpl)就可以完成对象的构建。这种方式在Android开发中非常常见,尤其是在处理那些需要多个步骤来初始化的复杂对象时。

http://www.yayakq.cn/news/386313/

相关文章:

  • 简述网站开发的过程凡客诚品创始人
  • 建设公司网站法律声明网站seo插件
  • 网站对话窗口怎么做杨和网站设计制作
  • 贵阳seo网站推广优化做自由行的网站
  • 网站开发分支结构惠州网站建设 惠州邦
  • 网站闭关保护怎么做免费推广方式都有哪些
  • wordpress刷新ssl就没了网站建设seo规范
  • 中铁建设集团华东分公司网站模仿别人网站算侵权吗
  • 郑州专业做网站的手机评测网站
  • wordpress 后台界面sem和seo的工作
  • 怎么查询网站后台地址电子商务网站开发课程
  • 网上有做衣服的网站国外域名注册网站
  • 记事本做网站代码集团网站设计方案
  • 做网站哪一家公司好个人网站模板打包下载
  • 表白网站制作软件手机长沙seo 优化选智投未来no1
  • 肇庆网站制作费用怎样才能做公司的网站
  • Apple 手机网站制作在线音乐网站开发现状
  • 网站开发管理学什么海报设计网站官网
  • 电商网站建设价格低上海网站制作优化公司
  • 5x社区发源于地从这里开始快速网站优化服务
  • 网站建设要注意哪些事情外贸网站如何做seo
  • 最好的微网站建设价格微信支付 企业网站
  • 网站 系统设置广州网络推广服务商
  • 做一套公司网站费用怎样在微信上开店卖东西
  • angularjs做网站一个销售网站的设计方案
  • 运输 织梦网站模板wordpress发表的文章在页面找不到
  • discu论坛网站模板搭建一个论坛网站
  • 邵东建设公司网站哪家好各大网站注册记录
  • 成都网站建设定制开发系统做网站电商
  • 建一个自己的网站价格沉默是金歌曲原唱