[Dart] DI를 위한 interface 만들기

Overview DIP를 준수하는 class 설계를 위해 interface가 필요하다. 이 interface는 일반 class만 사용해도 쉽게 구현할 수 있다. 아래는 clean architecture에서 use case에서 repository 의존성을 분리하여 의존성 흐름이 adapter에서 business logic 계층으로 향하도록 역전시키는 구현 예시이다. Adaptor 계층에서 repository pattern을 사용하여 use case가 repository 의존성을 주입받는다. class Repository { String fetchData() { throw Exception("Not implemented"); }; } class RepositoryImpl extends Repository { @override String fetchData() { return storage.getData(); } } class UseCaseImpl extends UseCase { UseCaseImpl({required this....

September 10, 2024 · 4 min