我正在爲Android編寫應用程序,但我打算爲PC構建此應用程序。所以我想盡可能重複使用儘可能多的代碼。但有些情況下我必須使用特定於平臺的功能。例如,用於記錄輸出和加載資源。 我正在尋找一種簡單的解決方案來抽象這些功能。我目前的解決方案是,我寫了這個類如何開發適用於智能手機和PC的應用程序
public class LoggerAndroid{
public static void debug(String tag, String msg) {
Log.d(tag, msg);
}
public static void error(String tag, String msg) {
Log.e(tag, msg);
}
public static void info(String tag, String msg) {
Log.i(tag, msg);
}
public static void warn(String tag, String msg) {
Log.w(tag, msg);
}
}
而這一次
public class Logger extends LoggerAndroid{
}
在我的代碼使用表達式像
Logger.info("test", "HelloWorld");
以及編寫計算機應用程序,我再寫使用相同的方法記錄類,並讓Logger繼承該類。 因此,做出很少的更改並使用日誌方法仍然很容易。但我認爲維護代碼並且相當強硬。 對此有更好的解決方案嗎?
+1,但請不要將它稱爲ILogger。我還會刪除「標記」部分,並將其作爲日誌工廠調用的一部分,因爲大多數Java日誌實現都是這樣做的,並將該部分從主線代碼中取出。 –
我從來沒有使用任何類型的日誌記錄電腦,所以我不知道它是如何去。 – Jong
謝謝你的答覆!我想過這樣的解決方案,但我認爲它並沒有消除這些缺點。此外,我不想創建一個類,因爲Android日誌實例可以以靜態方式訪問,並且我想保留這一點 – Jay