Что такое свободный интерфейс?

Ввести новый класс, как показано ниже

@XmlRootElement(name = "responseList")
public class ResposeList {

    private List<Object> list;

    public List<Object> getList() {
        return list;
    }

    public void setList(List<Object> list) {
        this.list = list;
    }

}

, и установить список ниже

@GET
@Path("/get")
@Produces(MediaType.APPLICATION_XML)
public ResposeList addObjects() {

    Book book = new Book(); 
    book.setName("Here is the Game");
    book.setAuthor("HHH");

    BookStore bookstore = new BookStore();
    bookstore.setName("Prateek Bookstore");
    bookstore.setLocation("Vasanth Nagar");

    ArrayList<Object> list = new ArrayList<Object>();
    list.add(book);
    list.add(bookstore);
    ResposeList books=new ResposeList();
    books.setList(list);

    return books;   
}
14
задан John Topley 4 April 2010 в 16:55
поделиться

3 ответа

Это приносит пользу кодиру, уменьшая сумму, которую он должен ввести (и прочитать).

Чтобы использовать пример C ++ на Wikipedia:

до:

int main(int argc, char **argv) {
     GlutApp app(argc, argv);
     app.setDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_ALPHA|GLUT_DEPTH); // Set framebuffer params
     app.setWindowSize(500, 500); // Set window params
     app.setWindowPosition(200, 200);
     app.setTitle("My OpenGL/GLUT App");
     app.create();
}

после:

 int main(int argc, char **argv) {
     FluentGlutApp app(argc, argv)
         .withDoubleBuffer().withRGBA().withAlpha().withDepth()
         .at(200, 200).across(500, 500)
         .named("My OpenGL/GLUT App");
     app.create();
 }
10
ответ дан 1 December 2019 в 13:09
поделиться

Существуют различные интерпретации термина «свободный интерфейс». Обычный способ создания одного в C ++ является цепочкой для методов, который обычно используется в примере библиотеки IOStream:

Object.MethodA().MethodB();
cout << "a = " << a;

названный параметром IDIOM - еще один приятный пример интерфейса беглостей:

Window w = CreateWindow()
               .Width(400)
               .Height(300)
               .OnTop();

? Код, который лучше читаемый и более гибкий, хотя это все еще зависит от реализации курса.

8
ответ дан 1 December 2019 в 13:09
поделиться

Одним из больших различий и преимуществ бегло-интерфейса является то, что вам не нужна переменная экземпляра для изменения некоторых свойств, когда вы хотите создать объект и использовать его как аргумент:

без:

Object object;
object.setcolor("red"); 
object.setstyle("solid");
object.setname("test");
world.CreateNode(object);

с свободным Интерфейс:

world.CreateNode(Object()
                                           .setcolor("red")
                                           .setstyle("solid")
                                           .setname("test")
                             );
2
ответ дан 1 December 2019 в 13:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: