Mobile Development
Flutter
Subjective
Oct 03, 2025
What are Flutter design patterns?
Detailed Explanation
Flutter design patterns:\n\n**BLoC Pattern:**\n\nclass CounterBloc {\n final _counterController = StreamController();\n final _actionController = StreamController();\n \n Stream get counter => _counterController.stream;\n Sink get action => _actionController.sink;\n \n CounterBloc() {\n _actionController.stream.listen(_handleAction);\n }\n \n void _handleAction(CounterAction action) {\n if (action == CounterAction.increment) {\n _counterController.add(_currentCount + 1);\n }\n }\n}\n\n\n**Provider Pattern:**\n\nclass UserProvider extends ChangeNotifier {\n User? _user;\n User? get user => _user;\n \n void setUser(User user) {\n _user = user;\n notifyListeners();\n }\n}\n\n\n**Repository Pattern:**\n\nabstract class UserRepository {\n Future getUser(String id);\n Future saveUser(User user);\n}\n\nclass ApiUserRepository implements UserRepository {\n @override\n Future getUser(String id) async {\n // API implementation\n }\n}\n\n\n**Singleton Pattern:**\n\nclass ApiService {\n static final ApiService _instance = ApiService._internal();\n factory ApiService() => _instance;\n ApiService._internal();\n}\n\n\n**Factory Pattern:**\n• Create objects without specifying exact class\n• Useful for creating different widget types\n• Platform-specific implementations
Discussion (0)
No comments yet. Be the first to share your thoughts!
Share Your Thoughts