FluentInterface

Posted on 2011-09-01 13:15  绿里奇迹  阅读(577)  评论(0编辑  收藏  举报

FluentInterface是DSL里的重要概念其为业务人员和开发人员搭建了桥梁

假设BA要向开发人员表述构建一个“汽车”对象,传统的方式是这样

Car car = new Car();

car.setFrontWheel(...);

car.setRearWheel(...);

car.setWindow(...);

car.setCeiling(....);

这在JAVA领域很常见,但是这些可恶的set函数对于业务人员太过技术化,而且此类表现很罗嗦

使用fluentinterface后的方式是这样:

Car car = new Car().frontWheel(...)

                            .rearWheel(...)

                            .window(...)

                            .ceiling(...);

这样对于业务人员非常容易理解,并且整个实现显得不是很罗嗦,具体实现类似这样:

public Car ceiling(Ceiling ceiling){

     this._ceiling = ceiling;

     return this;

}

fluentinterface一般用于复杂对象的初始化工作,比如著名的JMock就使用了fluentinterface。

这样做的最大问题就在于,car已经不再是javabean了。

Copyright © 2024 绿里奇迹
Powered by .NET 8.0 on Kubernetes