创建具有几个只读属性的类的实例

问题描述:

创建和初始化具有多个只读属性的类的实例的优雅方法是什么?传递构造函数中的所有值不会很方便。创建具有几个只读属性的类的实例

目的是在初始化后实例是不可变的。但是,如果构造函数不用于初始化所有属性值,那么只读属性如何从另一个类中更改?

它们是只读的,以便它们在施工后不能修改。此行为是设计使然。

如果你想减少参数个数有一个看看Parameter Object Pattern

+0

该类本身已经充当参数对象!但是就像模式描述所暗示的,对不同的常见用例和/或增变器方法使用多个构造函数可能是有用的想法。 +1模式。 – Peladao 2011-05-25 08:04:13

+0

我想我可以将这个类分成一组ParameterObject来分组相关的参数。 – Peladao 2011-05-25 08:05:45

你有两个选择

  1. 创建一个公共子更新初始化后的变量,或将更新添加到另一个该类的私有方法内的代码部分。

  2. 您使用反射来更新私有变量值。

第一种方式是迄今最好的选择,秒是黑客。