我正在设计一个使用第三方API的程序.第三方API描述了一个包含296个字段的输入,以及一个包含179个字段的输出.显然,我想要类来表示输入和输出.有没有什么技巧来设计一个有这么多领域的课程?我应该为每个领域都有一个普通的吸气剂和固化剂
注意:由于您要求,API会以固定宽度格式的所有字段输入字符串,并以固定宽度格式返回输出的字符串.很难解释一个非平面的结构.
解决方法
让人惊讶.
一个选择是简单地使用地图或类似的属性持有者.
另一个选择:使用一系列嵌套类,添加组织(例如Order.Person.ContactInfo.Address.ZipCode,而不是仅仅Order.ZipCode).我不太确定我喜欢这个,因为这意味着额外的复杂性,但没有它,找到你想要的特定getter / setter(通过IDE中的自动完成)成为一个噩梦.
另一个选项:如果您创建具有许多属性的单个类,请考虑使用“表达式构建器”模式,其中每个“setter”返回对象本身,使您能够将setter链接在一起:
myObject.setPropertyA("Foo").setPropertyB("Bar").setPropertyC("Baz")...
这可以创建一个更快更流畅的界面
myObject.setPropertyA("Foo"); myObject.setPropertyB("Bar"); myObject.setPropertyC("Baz"); ...