Skip to content

Instantly share code, notes, and snippets.

@keima
Created September 7, 2015 10:25
Show Gist options
  • Save keima/4c6439b443ff2cca310c to your computer and use it in GitHub Desktop.
Save keima/4c6439b443ff2cca310c to your computer and use it in GitHub Desktop.
現状。
/*
* main に置いてある
*/
public class API extends APIBase {
public static final String API_PREFIX = "/v1"
public static final String API_POST_NEW = API_HOST + API_PREFIX + "/post/new"
public static final String API_POST_EDIT = API_HOST + API_PREFIX + "/post/edit"
}
/*
* flavorごとに分けてある
*/
public class APIBase {
public static final String API_HOST = "https://api.example.com"
public static final String BROWSE_HOST = "http://web.example.com"
}
@keima
Copy link
Author

keima commented Sep 7, 2015

問題点:

  • 例えばAPIBaseに「開発環境で自己証明書を使っているかどうか」というフラグを持たせたいとすると、今あるfravor全部を書き足す必要がある(デフォルト値を持たせたい、という考え)
    • APIBaseが更に何かを継承していればいいのだろうか、と思ったけどstaticだったりfinalだったりの制約でoverrideできない
  • API.java側で制限をゆるめて static and/or final を消せばいいけど、変数が破壊できてしまうのであんまやりたくない
  • setterで包むのはアリかもしれないが、やや大掛かりすぎる気もしている
  • 「Retrofit使え?」アッハイ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment