• effective JAVA 阅读笔记。


    第一条:考虑用静态工厂方法来代替构造器。

    优势:

    1,他们有重命名,这回让我们的行为更加清晰,增加可读性。

    2,不必每次都创建一个对象,减少对象的创建与销毁,提高性能。

    3,可返回类型的各种子类型,多态优势。

    4,对于复杂对象的创建更加简洁。

    缺陷:

    1,他们容易与其他静态方法混淆。建议常规命名,或者创建工厂类进行专门管理。

    第二条遇到多个构造器参数时使用构建器

    通过构建器管理参数,这样就无需多个不同参数类型的构造器了。

    优势:

    1,对于大型类不用创建多个奇怪参数有序的构造器.

    2、易于配置参数无需多条javabean的Set方法导致对象在不同时间段不一致.

    3、易于对参数管理阅读。

    缺陷:

    多创建了一个构造器,导致性能损失。

    示例:

    package com.dhh.all;
    
    public class Nf {
        private final int a;
        private final int b;
        private final int c;
        private final int d;
        private final int e;
        public static class Buileer{
            private int a=0;
            private int b=0;
            private int c=0;
            private int d=0;
            private int e=0;
            
            
            public Buileer(int a, int b) {
                super();
                this.a = a;
                this.b = b;
            }
            public Buileer setC(int c) {
                this.c = c;
                return this;
            }
            public Buileer setD(int d) {
                this.d = d;
                return this;
            }    
            public Buileer setE(int e) {
                this.e = e;
                return this;
            }
            
            public Nf builder(){
                return new Nf(this);
            }
            
        }
        
        
        private Nf(Buileer b){
            this.a=b.a;
            this.b=b.b;
            this.c=b.c;
            this.d=b.d;
            this.e=b.e;
        }
    
        public static void main(String[] args) {
            Nf n=new Nf.Buileer(1,2).setC(1).setD(2).setE(3).builder();
        }
    }
  • 相关阅读:
    js-数组的原型拓展
    java-单例模式的java连接池
    java-基本数据类型值范围
    rabbitmq
    从哪跌倒从哪爬起,千里之行始于足下
    create python project steps
    常用代码片段
    shell脚本常用(记)
    shell学习
    maven工具使用
  • 原文地址:https://www.cnblogs.com/blackdeng/p/8799709.html
Copyright © 2020-2023  润新知