读书笔记:Android设计模式第三章

建造者无非就是剥离参数与实现,以前我把参数和实现写在了一起,比如

public void setTitle(String titleName) {

    tvTitle.setText(titleName);

}

其实这是错的,正确写法

private String titleName;

public void setTitle(String titleName) {

    this.titleName = titleName;

}

然后在build里进行参数的应用。


可以从Android的AlertDialog学习一二

new AlertDialog.Builder()

.setTitle("Title")

.build()

.show();

所以建造者不能仅仅是一个类,这样只是形式上采用了建造者,最应该的是分成两个类。


然后在Builder的基础上增加父接口,并加上注释

public class BuilderImpl {

    private String titleName;

    public void setTitle(String titleName) {

        this.titleName = titleName;

    }

    

    public void build() {

        ...

    }

}


public interface Builder {

    /**

    * 设置标题

    **/

    void setTitle(String titleName);

    

    /**

    * 构建

    **/

    void build();

}

这样使用者会很爽,这样的代码才是好代码。所以建造者一定要标准地写,不能像我之前一样想当然,不然使用者会不舒服。


后来书里又提到了一些WMS,也算比较有趣,ViewRootImpl是WMS(native)与Framework(java)之间的桥梁,借助WMS的native实现来进行真正的绘制。

猜你喜欢

转载自blog.csdn.net/qq_36523667/article/details/80874159
今日推荐