我們是否需要爲域中的每個方法創建UseCases
接口?Android Clean Architecture UseCase用於存儲庫的每種方法?
例如,假設我有這樣的倉庫接口
interface ThingRepository {
void create(Thing thing);
void delete(Thing thing);
List<Thing> readAll();
int size();
}
正如你可以看到有size()
方法,在數據庫或文件返回的記錄數,等等。而且這種方法非常快。 我想這個方法不需要UseCase
,因爲它不會阻塞UI
線程並且可以同步執行。
所以,你可以解釋我,當你創建UseCase
和當你不這樣做。基本上有UseCase
創建任何規則?
對不起,如果在這個問題上有一些誤解。
在此先感謝;)
而且我開了Android的CleanArchitecture回購相同issue在GitHub上,但沒有人回答了這個問題還沒有,這就是爲什麼我問這裏。
UseCases旨在表示高級別域邏輯,如「獲取用戶列表」。獲取用戶列表可能會從網絡或本地存儲庫或其他方法中獲取內容。您不希望它是與存儲庫的1對1映射,因爲存儲庫位於架構中的不同層上。域與數據之間的1對1映射將會破壞將它們分開的目的。 – drhr
@drhr所以在我的情況下,你建議我不要創建UseCase? –
@drhr「域與數據之間的1對1映射會破壞將它們分開的目的」我知道,在這種情況下,我猜MVP的用法更好,但是對於我的情況,您可以提出什麼建議? –