如何处理包含数百个字段的java类?

C. *_*oss 9 java oop

我正在尝试设计一个使用第三方API的程序.第三方API描述了具有296个字段的输入,以及具有179个字段的输出.显然我希望类代表输入和输出.设计一个有这么多领域的课程有什么技巧吗?每个领域我应该有一个正常的吸气剂和定位器吗?

注意:因为您要求,API采用一个字符串,其中包含固定宽度格式的所有字段作为输入,并返回一个字符串,其输出也是固定宽度格式.很难从中解释非平面结构.

Jac*_*son 5

让人惊讶.

一种选择是简单地使用Map或类似的财产持有人.

另一种选择:使用一系列嵌套类来添加组织(例如Order.Person.ContactInfo.Address.ZipCode,而不仅仅是Order.ZipCode).我不确定我喜欢这个,因为它意味着额外的复杂性,但没有它,找到你想要的特定的getter/setter(比如通过IDE中的自动完成)会变成一场噩梦.

还有一个选择:如果你创建了一个包含许多属性的单个类,可以考虑使用"表达式构建器"模式,其中每个"setter"返回对象本身,使您能够将setter链接在一起:

myObject.setPropertyA("Foo").setPropertyB("Bar").setPropertyC("Baz")...
Run Code Online (Sandbox Code Playgroud)

这可以创建一个更快,更流畅的界面

myObject.setPropertyA("Foo");
myObject.setPropertyB("Bar");
myObject.setPropertyC("Baz");
...
Run Code Online (Sandbox Code Playgroud)