Почему импорт urlfetch от Google App Engines?

До Java 5 общее использование для статических полей было:

interface HtmlConstants {
    static String OPEN = "<";
    static String SLASH_OPEN = "</";
    static String CLOSE = ">";
    static String SLASH_CLOSE = " />";
    static String HTML = "html";
    static String BODY = "body";
    ...
}

public class HtmlBuilder implements HtmlConstants { // implements ?!?
    public String buildHtml() {
       StringBuffer sb = new StringBuffer();
       sb.append(OPEN).append(HTML).append(CLOSE);
       sb.append(OPEN).append(BODY).append(CLOSE);
       ...
       sb.append(SLASH_OPEN).append(BODY).append(CLOSE);
       sb.append(SLASH_OPEN).append(HTML).append(CLOSE);
       return sb.toString();
    }
}

Этот предназначенный HtmlBuilder не должен был бы квалифицировать каждую константу, таким образом, это могло использовать , ОТКРЫВАЮТ instead of HtmlConstants. ОТКРОЙТЕ

Using, реализации таким образом в конечном счете сбивают с толку.

Теперь с Java 5, мы имеем импорт, статичный синтаксис для достижения того же эффекта:

private final class HtmlConstants {
    ...
    private HtmlConstants() { /* empty */ }
}

import static HtmlConstants.*;
public class HtmlBuilder { // no longer uses implements
    ...
}
7
задан brilliant 12 December 2009 в 10:38
поделиться

2 ответа

google.appengine.api - это библиотека, содержащая версию класса urlfetch от Google. Цитата из руководства :

Служба URL Fetch использует Google сетевая инфраструктура для повышения эффективности и масштабирования.

Python имеет классы поиска URL в своей стандартной библиотеке, но те, которые не могут использовать инфраструктуру, доступную внутри App Engine.

Короче говоря, urlfetch google.appengine.api более мощный, но ничто не мешает вам использовать собственный urllib-адрес Pythons, что тоже описано на странице руководства, на которую я ссылался выше.

5
ответ дан 6 December 2019 в 08:43
поделиться

Python has libraries such as urllib and httplib for fetching URLs, but on App Engine, all requests must go through the custom urlfetch library. App Engine includes stubs for urllib and httplib that cause them to use urlfetch internally, but if you have a choice, using urlfetch directly is more efficient and flexible.

16
ответ дан 6 December 2019 в 08:43
поделиться
Другие вопросы по тегам:

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