62,632
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
@Component
@ConfigurationProperties(prefix = "practice")
public class OrderProperties {
//这里属性的名字,必须要和配置文件里的一致
private ItemProperties item = new ItemProperties();
public ItemProperties getItemProperties() {
return item;
}
public void setItem(ItemProperties item) {
this.item = item;
}
}
public String getFoo() { return foo; }
public void setFoo(String foo) { this.foo = foo; }
public Employee withFoo(String foo) {
setFoo(foo);
return this;
}
list.add(new Employee().withName("Jack Sparrow")
.withId(1)
.withFoo("bacon!"));
一开始是我有点死脑筋了,不懂得拐弯。不过也还好来问了,要不到现在也想不明白为什么会出错
.setOrderId("ddddddd");
order.setOrderId("ddddddd");
你说看到上面2句程序那个理解更快?
如果你说我只在构造使用,那么build方法也能实现上面效果,就是前面加类变量名的话也没加大多少工作量。
lambde 技术并不成熟,看清起来简洁,但是出现问题排查起来更难。
推荐你看一下国外程序员对此的评价,褒贬不一。
http://www.itdaan.com/blog/2009/08/28/86ce4ec17b65617e696c41eec2323ba7.html[/quote]
褒大于贬,而且说了这种风格的代码本就适用于多个属性setter,很连贯,的确能解决一些问题,楼主举的例子就是很好的应用场景
而且你说的可读性问题纯粹是强词夺理罢了,这么简单不存在业务逻辑的样板代码,怎么会存在可读性问题
这种风格跟java主流的不一致,但并不是不好的设计,毕竟其他语言大量使用
你说的报错大概跟spring有关,但不是这种风格代码的错误[/quote]
对,应该就是他贴出来的帖子里提到的,可能不兼容spring,不过帖子里也有人给出了很好解决办法,这样无论是哪种编程方式,都能照顾到了
.setOrderId("ddddddd");
order.setOrderId("ddddddd");
.setOrderId("ddddddd");
order.setOrderId("ddddddd");
你说看到上面2句程序那个理解更快?
如果你说我只在构造使用,那么build方法也能实现上面效果,就是前面加类变量名的话也没加大多少工作量。
lambde 技术并不成熟,看清起来简洁,但是出现问题排查起来更难。
推荐你看一下国外程序员对此的评价,褒贬不一。
http://www.itdaan.com/blog/2009/08/28/86ce4ec17b65617e696c41eec2323ba7.html[/quote]
虽然并不是很赞同你的说法,但是你贴出来的帖子很不错。我想我大概知道该怎么做比较好了。
传统的set方法可以不改变,如果想要做成链式的风格,就另外写一个方法。比如下面这个,我觉得就很好
list.add(
new Employee("Jack Sparrow")
.Id(1)
.foo("bacon!"));
.setOrderId("ddddddd");
order.setOrderId("ddddddd");
你说看到上面2句程序那个理解更快?
如果你说我只在构造使用,那么build方法也能实现上面效果,就是前面加类变量名的话也没加大多少工作量。
lambde 技术并不成熟,看清起来简洁,但是出现问题排查起来更难。
推荐你看一下国外程序员对此的评价,褒贬不一。
http://www.itdaan.com/blog/2009/08/28/86ce4ec17b65617e696c41eec2323ba7.html