В модель даёшь именно интерфейс = модель не знает что в конкретной реализации исп-ся какой-то там контекст, а знает что у интерфейса есть метод getSomething().
public interface IFileManager { String[] getAssetFileList(String path); } public class AssetManager implements IFileManager { @Override public String[] getAssetFileList(String path) { try { return MyAppClass.getContext().getAssets().list(path); } catch (IOException e) { e.printStackTrace(); return new String[] {""}; } } } public class MyModel { // ... AssetManager assetManager = new AssetManager(); assetFileList = assetManager.getAssetFileList(path); }
Обсуждают сегодня