推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

Java语言中的几种设计模式

   2023-07-04 网络整理佚名1610
核心提示:将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为构建者模式。对于建造者模式而已,它主要是将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。

1. 单例模式

待补充

2.工厂模式

待补充

3. 建造者模式 3.1 定义

复杂对象的构造与其表示分离,使得同一个构造过程可以创建不同的表示,这样的设计模式称为构建器模式。

3.2 角色定义 构建器模式的角色定义,构建器模式的角色定义中有以下四种角色(抽象构建器): 为每个创建产品对象的组件指定一个抽象接口。 (具体构建器):实现的接口用于构建和组装产品的各个部分,定义和指定它创建的表示,并提供用于检索产品的接口。 (具体构建器):使用接口构造对象。 (产品类):表示正在构造的复杂对象。 创建产品的内部表示并定义其组装过程,包括定义组成部件的类,以及用于将这些部件组装成最终产品的接口。 3.3 代码用例

package com.designmode.duilder;
public class Student {
    //学生Id
    private Integer id;
    //学生姓名
    private String name;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

package com.designmode.duilder;
public class Builder {
    private Student student;
    public Builder(Student student){
        this.student = student;
    }
    public void show(){
        System.out.println(student.getName());
    }
    public static class Director{
        private Student student;
        public Director(){
            student = new Student();
        }
        public Director setId(){
            student.setId(1);
            return this;
        }
        public Director setName(String name){
            student.setName(name);
            return this;
        }
        public Builder create(){
            return new Builder(student);
        }
    }
}

package com.designmode.duilder;
public class MyView {
    public static void main(String[] args) {
        Builder builder = new Builder.Director()
            .setId().setName("张三").create();
        builder.show();
    }
}

至于建造者模式,主要是将复杂对象的构造和表示分离,使得同一个构造过程可以创建不同的表示。 适用于这些产品对象的内部结构更加复杂。

建造者模式将复杂产品的构建过程封装并分解为不同的方法,使得创建过程变得非常清晰,让我们能够更精确地控制复杂产品对象的创建过程。 同时,它隔离了复杂产品对象的创建和使用,使得同一个创建过程可以创建不同的产品。 但如果某个产品的内部结构过于复杂,整个系统就会变得非常庞大,不利于控制。 同时,如果几个产品之间存在较大差异,则构建器模型不适用。 毕竟,具有相同点大小的两种产品并不多,因此其使用受到限制。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON