您的位置:首页 > 产品设计 > UI/UE

如何使用建造者模式(Builder Pattern)创建不可变类

2014-01-20 22:45 525 查看
本文由 ImportNew - 唐小娟 翻译自 Journaldev。如需转载本文,请先参见文章末尾处的转载要求。

ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 Java开发 小组。参与方式请查看小组简介。

我写过一篇《如何创建不可变类》。这篇文章中,我们将看到如何使用建造者模式创建不可变类。当构造器中的参数很多时,并且参数的顺序会给人造成困扰的时候,那么使用建造者模式来创建不可变类就是非常好的方法了。


使用建造者模式来创建不可变类

下面是使用建造者模式来创建不可变类的例子:

ImmutableClass.java

下面的测试代码为我们测试到底创建的对象是不是不可变的。

ImmutableBuilderTest.java


重要的知识点

不可变类只有getter方法

不可变类只有一个私有的构造器,以Builder对象作为参数来创建不可变对象

如果不可变类的成员变量是可变的(譬如HashMap),我们需要使用深拷贝(deep copy)或者克隆来防止成员变量被更改

当可选的成员变量很多的时候,使用建造者模式创建不可变类是不错的方法

原文链接: Journaldev 翻译: ImportNew.com - 唐小娟

译文链接: http://www.importnew.com/7860.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: