6장: 객체와 자료 구조
자료 추상화
Cita의 AnswerChoiceController
AnswerChoiceControllerabstract class AnswerChoiceController<T> with ChangeNotifier {
T get answer;
bool get isAnswerEmpty;
}class MultipleImageChoiceSingleSelectController
extends AnswerChoiceController<int> {
late List<ImageChoiceCubit> _cubits;
late int? _activatedIndex;
@override
int get answer => _activatedIndex!;
@override
bool get isAnswerEmpty => _activatedIndex == null;
MultipleImageChoiceSingleSelectController();
void initialize(List<ImageChoiceCubit> cubits) {
_cubits = cubits;
_cubits.asMap().entries.forEach(_attachListener);
}
void _attachListener(MapEntry<int, ImageChoiceCubit> entry) {
// ...
}
// ...
}디미터 법칙
디미터 법칙을 지키도록 수정
Last updated